《《C语言程序设计》课程试题库》由会员分享,可在线阅读,更多相关《《C语言程序设计》课程试题库(140页珍藏版)》请在金锄头文库上搜索。
1、C语言程序设计课程试题库 一、单项选择题【1.1】以下不正确的C语言标识符是_。A) int B) a_1_2 C) ab1exe D) _x【1.2】以下是正确的C语言标识符是_。A) #define B) _123 C) %d D) n【1.3】下列四组字符串中都可以用作语言程序标识符的一组是 。 A) print B) iam C) Pxq D) str_l _3d one_half My-book Cpp oodbs tart$it line# pow aBc 3pai His.age while【1.4】下面各选项组中,均是C语言关键字的组是 。A) auto,enum,includ
2、e B) switch,typedef,continueC) signed,union,scanf D) if,struct,type【1.5】下列不属于C语言关键字的是 。 A) default B) register C) enum D) external【1.6】C语言程序从main()函数开始执行,所以这个函数要写在_。A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置【1.7】下列关于C语言的叙述错误的是_A) 大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
3、 D) 同一个运算符号在不同的场合可以有不同的含义【1.8】在C语言中,错误的int类型的常数是 。A) 32768 B) 0 C) 037 D) 0xAF【1.9】执行语句 printf(%x,-1);屏幕显示_。A) -1 B) 1 C) -ffff D) ffff【1.10】已知 long i=32768;执行语句printf(%d,i);屏幕显示_。A) -1 B) -32768 C) 1 D) 32768【1.11】已知 long i=65539;执行语句printf(%d,i);屏幕显示_。A) 65539 B) -3 C) 3 D) 程序不能执行【1.12】在语言中,整数-8在内
4、存中的存储形式是 。A) 1111 1111 1111 1000 B) 1000 0000 0000 1000C) 0000 0000 0000 1000 D) 1111 1111 1111 0111【1.13】语言中字符型(char)数据在内存中的存储形式是_。 A) 原码 B) 补码 C) 反码 D) ASCII码【1.14】将字符g赋给字符变量c,正确的表达式是 。A) c=147 B) c=147 C) c=147 D) c=0147【1.15】下列转义字符中错误的一个是_。A) 000 B) 0014 C) x111 D) 2【1.16】将空格符赋给字符变量c,正确的赋值语句是_。A
5、) c=0 B) c=NULL C) c=0 D) c=32【1.17】已知:char a=70;则变量a中 。A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明非法【1.18】字符串EOFn=-61的长度是_。A) 8 B) 9 C) 14 D) 非法字符串【1.19】字符串的长度是_。A) 0 B) 1 C) 2 D) 非法字符串【1.20】已知:char a;int b;float c;double d;执行语句c=a+b+c+d;后,变量c的数据类型是 。A) int B) char C) float D) double【1.21】温度华氏和摄氏的关系是: C=-(
6、F-32)。已知:float C,F;由华氏求摄氏的正确的赋值表达式是_。A) C=5/9(F-32) B) C=5*(F-32)/9 C) C=5/9*(F-32) D) 三个表达式都正确【1.22】逗号表达式(a=3*5,a*4),a+15的值是_。A) 15 B) 60 C) 30 D) 不确定【1.23】如果int a=1,b=2,c=3,d=4;则条件表达式ab?a:cd?c:d的值是_。A) 1 B) 2 C) 3 D) 4【1.24】为求出s=10!的值,则变量s的类型应当为 。A) int B) unsiged C) long D) 以上三种类型均可【1.25】已知int i=
7、10;表达式20-0=i5&+x10;A) 1 B) 2 C) 3 D) 4【1.27】为判断字符变量c的值不是数字也不是字母时,应采用下述表达式_。A) c=57&c=90&c=122B) !(c=57&c=90&c=122)C) c=48&c=65&c=97&c=48&c=65&c=97&c=122)【1.28】已知 int a32=3,2,1;则表达式a00/a01/a02的值是_。A) 0. B) 1 C) 0 D) 错误的表达式【1.29】已知 int x=1,y=1,z=1;表达式x+y+z+的值是_。A) 3 B) 4 C) 5 D) 表达式错误【1.30】用十进制表示表达式12
8、|012的值是_。A) 1 B) 0 C) 12 D) 14【1.31】已知以下程序段:int a=3,b=4;a=ab;0011 0100 0111b=ba;0100 0011 0111 0100a=ab;则执行以上语句后a和b的值分别是_。A) a=3,b=4 B) a=4,b=3 C) a=4,b=4 D) a=3,b=3【1.32】在位运算中,操作数每右移一位,其结果相当于_。A) 操作数乘以2 B) 操作数除以2 C) 操作数除以16 D) 操作数乘以16【1.33】已知 char a=222;执行语句a=a&052;后,变量a的值是_。A) 222 B) 10 C) 244 D)
9、254【1.34】已知二进制数a是,如果想通过整型变量b与a做异或运算,使变量a的高4位取反,低4位不变,则二进制数b的值应是_。A) B) C) D) 【1.35】已知 int a=15,执行语句a=a2以后,变量a的值是_。A) 20 B) 40 C) 60 D) 80【1.36】已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是_。A) 0 B) 1 C) 5 D) 6【1.37】使用语句scanf(x=%f,y=%f,&x,&y);输入变量x、y的值(代表空格),正确的输入是_。A) 1.25,2.4 B) 1.252.4 C) x=1.25,y=2.4 D) x=
10、1.25y=2.4【1.38】下列循环语句中有语法错误的是_。A) while(x=y) 5; B) while(0) ;C) do 2;while(x=b); D) do x+ while(x=10);【1.39】已知int x=(1,2,3,4);变量x的值是_。A) 1 B) 2 C) 3 D) 4【1.40】表达式sizeof(double)是 。A) 函数调用 B) double型表达式 C) int型表达式 D) 非法表达式【1.41】执行语句printf(2:%d,printf(1:%d,scanf(%d,&x);以后的输出结果是_。A) 2:1,1:1, B) 1:1,2:1,
11、 C) 2:4,1:1 D) 1:1,2:4,【1.42】已知:int x,y;double z;则以下语句中错误的函数调用是 。A) scanf (%d,%lx,%le,&x,&y,&z); B) scanf (%2d*%d%lf,&x,&y,&z);C) scanf (%x%*d%o,&x,&y); D) scanf (%x%o%6.2f,&x,&y,&z);【1.43】与条件表达式(n)?(c+):(c-)中的表达式(n)等价的表达式是_。A) (n=0) B) (n=1) C) (n!=0) D) (n!=1)【1.44】已知int i=1,j=0;执行下面语句后j的值是_。while
12、(i)switch(i) case 1: i+=1;j+;break;case 2: i+=2;j+;break;case j3: i+=3;+;break;default: i-;j+;break;A) 1 B) 2 C) 3 D) 死循环【1.45】求取满足式 12+22+32+ +n2 1000的n,正确的语句是_。A) for(i=1,s=0;(s=s+i*i)=1000;n=i+) ; B) for(i=1,s=0;(s=s+i*i)=1000;n=+i) ;C) for(i=1,s=0;(s=s+i*+i)=1000;n=i) ; D) for(i=1,s=0;(s=s+i*i+)0)&(x4);x+,y- ) ;A) 是无限循环 B) 循环次数不定 C) 循环执行4次 D) 循环执行3次【1.47】已知int i=1; 执行语句while (i+y);A) 1 B) 2 C) 3 D) 程序运行有错误【1.49】已知 char a20=Beijing,shanghai,tianjin,chongqing;语句printf(%c,a30);的输出是_。A) B) n C) 不定 D) 数组定义有误【1.50】若用数组名作为函数调用时的实参,则实际上传递给形参的是 。A) 数组首地址 B) 数组的第一个元素值C) 数组中全