C语言基本概念
1、在一个C语言源程序中,必不可少的是main函数定义。
2、以下叙述中正确的是D。
A.在编译时可以发现注释中的拼写错误
B.C语言程序的每一行只能写一条语句
C.main( ){ }必须位于程序的开始
D.C语言程序可以由一个或多个函数组成
3、以下叙述中正确的是  C 。
A. C语言系统以函数为单位编译源程序
B. main函数必须放在程序开始
C. 用户定义函数可以被一个或多个函数调用任意多次
D. 在一个函数体内可以定义另外一个函数
4、下列叙述中正确的是  C 。
A. main函数必须出现在其他函数之前
B. main函数中至少必须有一条语句
C. C程序总是从main函数的第一条语句开始执行
D. C程序总是在执行完main函数的最后一条语句后结束
5、以下叙述中正确的是  C
A) C程序中的注释只能出现在程序的开始位置和
语句的后面。
B) C程序书写格式严格,要求一行内只能写一个语句
C) C程序书写格式自由,一个语句可以写在多行上
D) 用C语言编写的程序只能放在一个程序文件中
基本类型数据的表示及使用
①系统预定义类型标识符、类型修饰符的使用
②基本类型常量的表示及使用
③字符串常量形式
④关键字。标识符。
⑤符号常量的定义与使用
⑥基本类型变量的声明、初始化, 直接引用变量
1、在C语言源程序中,不带任何修饰符的浮点数直接量(例如:3.14)都是按double
类型数据存储的。
2、已知sizeof(int)的值为2,为将10!的值存储到变量f中(10!=3628800),变量f的类型应声明为  A 。
A.long int  B.int
C.short int D.unsigned int
int型-32768 ~ 32767
3、以下常量表示中正确的是  B 。
A. \xff
B. 5L
C. aEb
D.
4、以下语句中有语法错误的是  A 。
A. printf("%d",0e);
B. printf("%f",0e2);
C. printf("%d",0x2);
D. printf("%s","0x2");
5、以下选项中不能用作变量名的是  B 。
A._float B.switch
C.sum D._123
6、若有声明“int x;”且sizeof(x)的值为2,则当x值为32767 时“x+1>x”为假。
7、以下选项中,  D 是C语言关键字。
A.printf B.include
C.fun D.default
关键字
auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while
8、执行语句“printf(”bye\bye101\101“);”时输出到屏幕的结果为byye101A 。
\n \t \ddd \xhh \0
9、以下局部变量声明中正确的是  D 。
A. int char=2;
B. void a=0;
C. int a=b=0;
D. int a, b=a=0;
运算符和表达式的表示及使用
①赋值表达式,赋值运算符的求值要求
②算术表达式。++、--运算符求值要求。溢出。
③关系表达式与逻辑表达式,逻辑表达式优化处理
④逗号表达式
⑤条件表达式
⑥表达式运算中操作数类型自动转换与强制转换
1、若有声明“double x=3,c,*a=&x,*b=&c;”,则下列语句中错误的是  C 。
A.a=b=0; B.a=&c,b=a;
C.&a=&b; D.*b=*a;
2、设有定义和声明如下: D
#define  d  2
int x=5;  float y=3.83;  char c='d';
以下表达式中有语法错误的是            。
A.x++
B.y++
C.c++
D.d++
3、已有声明“int a=3,b=3,c=2;”,以下选项中值为0的表达式是        A    。
A. !a&&!b&&c
B. !a||!b||c
C. a==b&&b>=c
D. a>=b&&b>c
4、C 语言中有!、&& 、|| 三个逻辑运算符,其中优先级高于算术运算符的是      !    。
5、已知有声明“int a=3,b=4,c;”,则执行语句“c=1/2*(a+b);”后,c 的值为    A      。
A. 0
B. 3
C. 3.5
D. 4
6、已知有声明“char  ch=‘g’;”,则表达式ch= ch-‘a’+‘A’的值为字符    G        的编码。
7、数学式                  对应的C 语言表达式为          。
答案:sqrt(fabs(x))!=4*a/(b*c)  或    sqrt(fabs(x))!=4*a/b/c
8、已知有声明 “ int a=12, b=15, c; ”,则执行表达式  “c =( a||(b - = a ))”后,变量b 和c 的值分别为      A  。
A .3,1
B .15,12
C .15,1
D .3,12
9、数学式
所对应的C 语言表达式为pow(x,          )。    答案:1.0/3
10、以下选项中,不能表示函数功能的表达式是    C          。
A. s=(x>0)?1:(x<0)?-1:0
B. s=x<0?-1:(x>0?1:0)
C. s=x<=0?-1:(x==0?0:1)
D. s=x>0?1:x==0?0:-1
3x ⎪⎩⎪⎨⎧<-=>=0
100
01)(x x x x sign bc a x 4≠
10、已知有声明“int a=3,b=4;”,下列表达式中合法的是  C 。
A. a+b=7
B. a=|b|
C. a=b=0基础c语言代码
D. (a++)++
11、已知有声明“int a=1,b=2;”,执行语句
“while(--a > 0&& --b>0) a=b;”后变量a、b的值是  A 。
A. 0,2
B. 0,1
C. 1,1
D. 2,2
顺序结构的语句
①表达式语句,空语句,复合语句,函数调用语句
②标准输入输出库函数printf(), scanf(),getchar() , putchar() ,gets(),puts()
1、已知某编译系统中sizeof(int)的值为2,在该编译系统中执行以下  B 语句时输出结果不是39999。0--65535
A. printf("%u",39999);
B. printf("%d",39999);
C. printf("%ld",39999);
D. printf("%lu",39999);
2、若有声明“float f=123.45678;”,则执行语句“printf( ”%.3f“,f );”后,输出结果是  B 。
A. 1.23e+02 B. 123.457
C. 123.456780 D. 1.234e+02
3、已知有声明“char s[80];”,若需要将键盘输入的一个不含空格的字符串保存到s数组中,则下列语句中正确的是A。
A. scanf("%s",s);
B. scanf("%s",s[0]);
C. s=gets();
D. s=getchar();
4、已知有声明和语句“ int a ; scanf ( ”a=%d”, &a); ”,欲从键盘上输入数据使a中的值为3,则正确的输入应是。
答案:a=3
选择结构语句: if-else,switch
1、若在一个C语言源程序中“e1”和“e3”是表达式,“s;”是语句,则下列选项中与语句
“for(e1; ;e3)s;”功能等同的语句是  B 。
A. e1;while(10)s;e3;
B. e1;while(10){s;e3;}
C. e1;while(10){e3;s;}
D. while(10){e1;s;e3;}
2、已知有声明“ int x, y; ”,若要求编写一段程序实现“当x大于等于0时y取值1,否则y 取值-1”,则以下程序段中错误的是  C 。
A. if(x>=0)y=1;else y=-1;
B. y=x>=0?1:-1;
C. switch()
D. switch(x-abs(x))
{ case x>=0: y=1; break; { case 0: y=1; break;
default: y=-1; default: y=-1;
} }
3、已知有声明“int a=1,b=2,c=0;”,执行语句“ if (a>b) c=a; a=b; b=c;”后变量a、b的
值是____。
答案  2.0
5、下列程序运行后的输出结果第一行是
(1) ;第二行是(2) 。
#include <stdio.h>
main( )
{ int i, a=0, c=2; 答案: (1) 23
for ( i=0; i<2; i++ ) (2) other
switch ( ++a , a*c)
{ case 1: printf("1");
case 2: printf("2");
case 3: printf("3\n");break;
default: printf("other\n");
}
}
实现循环结构的语句:
while,do-while,for,goto
1、若有声明“int i,k=1; unsigned j;”,则下列语句执行时会出现无限循环的语句是  A 。A.for(j=15;j>0;j-=2) k++;
B. for(j=0;j<15;j+=2) k++;
C.for(i=0;i<15;i+=2) k++;
D.for(i=15;i>0;i-=2) k++;
2、以下语句中有语法错误的是  B 。
A. for(; ;);
B. do ; while(1);
C. while();
D. p: ; goto p;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。