一、单项选择题(25道小题,共50分)
1、C语言规定,在一个源程序中,main函数的位置(C) (2分)
A、必须在最开始 B必须在系统调用的库函数的后面 C、 可以任意 D、 必须在最后 2、以下叙述中正确的是 (C)(2分)
A、用C语言实现的算法必须要有输入和输出操作 B、用C语言实现的算法可以没有输出但必须要有输入 C、用C程序实现的算法可以没有输入但必须要有输出 D、用C程序实现的算法可以既没有输入也没有输出 3、以下叙述不正确的是(D)(2分)
A、在C程序中,逗号运算符的优先级最低
B、在C程序中,APH和aph是两个不同的变量
C、若a和b类型相同,在执行了赋值表达式a=b后b的值将放入a中,而b的值不
D、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
4、C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符(C)(2分) A、 必须为字母B、 必须为下划线 C、 必须为字母或下划线 D、 可以是字母,数字和下划线中任一字符
5、在C语言中,int型数据在内存中是以(B)形式存储的。(2分) A、原码 B、补码 C、ASCII码 D、反码
6、已有定义:int x=3,y=4,z=5;则表达式!(x+y)+z-1 && y+z/2的值是(D)(2分) A、 6 B、 0 C、 2 D、 1
7、若从终端输入以下数据,要给变量c赋以283.19,则正确的输入语句是(D)(2分) A、scanf(\、scanf(\、scanf(\、scanf(\
8、执行下列语句: double d; float f; long L; int i; i=f=L=d=20/3; printf(\%ld %f %f \\n\i,L,f,d); 输出结果是(小数点后只写一位) (A)(2分)
A、6 6 6.0 6.0 B、 6 6 6.7 6.7 C、6 6 6.0 6.7 D、 6 6 6.7 6.0
9、若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是(A)(2分) A、 0 B、 0.5 C、 1 D、 2
10、下述表达式中,( A )可以正确表示x≤0或x≥1的关系。(2分)
A、(x>=1) || (x<=0) B、x>=1 | x<=0 C、x>=1 && x<=0 D、(x>=1) && (x<=0) 11、以下语句char c='a';if('a' A、LOW B、UP C、LOWUP D、语句错误,编译不能通过 12、程序int k= 4,a=3,b=2,c=1;printf(\%d\\n\?c :a);的运行结果是( D )。 (2分) A、4 B、3 C、2 D、1 13、对于程序段int x=-1; do { x=x*x; }while(!x);说法正确的是(C )。(2分) A、是死循环 B、循环执行两次 C、循环执行一次 D、有语法错误 14、设有int k=10;while (k=0) k=k-1;则下面描述中正确的是( C )。 (2分) A、while循环执行10次 B、循环是无限循环 C、循环体语句一次也不执行D、循环体语句执行一次 15、下列循环语句会进入死循环的是( C )。 (2分) A、i=0; do { i++; }while(i = =100); B、for(i=0; i<100; i+=3.14); C、for(i=0; ; i+=2); D、k=1; do { k--;} while(k); 16、以下描述正确的是( C )。(2分) A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。 B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。 C、在do-while循环体中,一定要有能使while后面表达式的值变成零(“假”)的操作。 D、do-while循环中,根据情况可以省略while 17、以下对二维整形数组a的正确说明是( C )。(2分) A、int a[3][]; B、float a(3,4); C、double a[1][4]; D、float a(3)(4) 18、对两个字符数组a和b进行初始化char a[ ]=\ char b[ ]={'A','B','C','D','E','F'}; 则以下叙述正确的是( D )。 (2分) A、a与b数组完全相同 B、a与b长度相同 C、a和b中都存放字符串 D、a数组比b数组长度长 19、以下不正确的定义语句是(B )。(2分) A、double x[5]={2.0,4.0,6.0,8.0,10.0}; B、int y[5]={0,1,3,5,7,9}; C、char c1[]={‘1’,’2’,’3’,’4’,’5’}; D、char c2[]={‘\\x10’,’\\xa’,’\\x8’}; 20、程序段 char c[ ]=\ printf(\的运行结果是( B )。 (2分) A、14 B、3 C、9 D、字符串中有非法字符,输出值不确定 21、实际参数不能是(D )。(2分) A、常量 B、变量 C、表达式 D、不确定值 22、函数调用结束后,形式参数(C )。(2分) A、继续占用相同大小的内存 B、占用的内存减小 C、释放内存 D、不确定 23、已知:int a,*p=&a;则下列函数调用中错误的是( D )。(2分) A、scanf(\ B、scanf(\ C、printf(\ D、printf(\24、设有说明语句“struct stu{ int a; float b;}stutype;”,则叙述不正确的是D )(2分) A、struct是结构体类型的关键字。 B、struct stu是用户定义的结构体类型。 C、stutype是用户定义的结构体变量名。 D、a和b都是结构体变量。 25、系统的标准输入文件是指是(A )(2分) A、键盘 B、显示器 C、软盘 D、硬盘 26、C语言程序的执行,总是起始于(C)(2分) A、程序中的第一条可执行语句 B、程序中的第一个函数 C、main函数 D、包含文件中的第一个函数 27、以下不是结构化程序设计方法的是(B)(2分) A、循环结构 B、模块结构 C、顺序结构 D、选择结构 28、优先级最高的为(C)。(2分) A、 && B、 ?: C、 != D、 || 29、以下选项中正确的整型常量是(B)(2分) A、5. B、-10 C、1.000 D、4/5 30、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)(2分) A、 6.500000 B、 6 C、 5.500000 D、 6.000000 31、以下选项中,与k=n++完全等价的表达式是(A)(2分) A、 k=n,n=n+1 B、 n=n+1,k=n C、 k=++n D、 k+=n+1 32、以下选项中不是C语句的是(C)(2分) A、{int i; i++; printf(“%d\\n”, i); } B、; C、a=5,c=10 D、{ ; } 33、若变量已正确说明,要求用语句:scanf(“%f%c%f%c”, &a, &c1, &b, &c2);给c1赋予字符%、给c2赋予字符#、给a赋予2.0、给b赋予4.0,则正确的输入形式是(B)(2分) A、2.0 % 4.0 # B、2.0%4.0# C、2% 4# D、2 % 4 # 34、执行以下语句 int x=102,y=012; printf(\后输出结果是(C)(2分) A、10,01 B、002,12 C、102,10 D、02,10 35、设char ch='A';则ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( B )。 (2分) A、A B、a C、Z D、z 36、以下错误的if语句是( C )。(2分) A、if(x>y) z=x; B、if(x==y) z=0;
相关推荐: