C语言综合练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》综合练习题
一、单项选择题
1.下列( D )是字符串比较函数。
A. puts()
B.gets()
C. strcpy ()
D. strcmp()
2.构成一个完整的C源程序必须有且只有一个( C )。
A. 函数
B.过程
C. 主函数
D. 程序
3. 设有int i,j,k;则表达式i=1,j=2,k=3,i&&j&&k的值为( A )。
A. 1
B. 2
C. 63
D. 0
4.在C语言中,不同类型数据混合运算时,要先转化成同一类型后进行运算。设一表达式中包含有int、long、unsigned、char类型的变量和数据,则表达式最后的运算结果是(D)类型数据。
A.int B.char C.unsigned D.long 5.下列(D)不是构成标识符的字符。
A.字母
B.数字
C.下划线
D.标点符号
6.表达式:3>5&&-1||6<3-!-1的值是( A )。
A. 0
B.1
C. 表达是不合法
D. 均不对
7. 以下标识符中能做为合法的C用户标识符的是(D)。
A.A3+B3
B. float
C. 3dx
D. x3d
8. 以下数据中不正确的数值或字符常量是(B)。
A. 0.0
B. 3E2.7
C. 9861
D. 0xabcd
9. fp=fopen(''test.txt",''r''); 语句中,r对文件处理方式是(A)。
A. 只读打开文件
B. 只写打开文件
C. 追加打开文件
D. 读写打开文件
10.表示关系x<=y<=z的C语言表达式为(A)
A. (x<=y)&&(y<=z)
B. (x<=y)and(y<=z)
C. (x<=y)&(y<=z)
D. (x<=y<=z)
11.如果要把常量327存入变量a中,a不能定义的类型是(B)。
A. int
B. char
C. long
D. float
12. 在变量的存储结构中,( B )局部变量的初始化只有一次。
A. 自动
B. 静态
C.外部
D. 寄存器
13.下列能正确进行字符串赋值操作的语句是(C)。
A. char s[5]={ "ABCDE"};
B. char s[5]={ 'a', 'b', 'c', 'd', 'e'}
C. char *s;s="abcde";
D. char *s; scanf("%s",s);
14.语句if(3/4>1/2)a=1;else a=0; 运行后,a的值是(A)。
A. 1
B. 0
C.与机器有关
D.语法有错
15.下列( C )是合法自定义标识符。
A. 3ma
B. float
C. m3a
D.–ab
16.设a,b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是(D)
A. 'a' && 'b'
B. a<=b
C. c>=b||b+c&&b-c
D. a<=b+c&&c>=a+b
17.判断整型变量i,j可同时被2整除的表达式(i,j同时被2整除返回1,否则返回
0)是(B)。
A. !(i%2)||!(j%2)
B. !(i%2)&&!(j%2)
C. (i%2)&&!(j%2)
D. (i%2)||(j%2)
18.若x,y均为double型变量,正确的输入函数调用是(C)。
A. scanf("%f%f",&x,&y);
B. scanf("%d%d",&x,&y);
C. scanf("%lf%lf",&x,&y);
D. scanf("%lf%lf",x,y);
19. 设变量均为整型,表达式(a=2,b=5,a>b?a++:b++,a+b)的值是(B)。
A. 7
B. 8
C. 9
D. 2
20.当执行以下程序段时(A)。
x= -1;
Do {x=x*x;}while(!x);
A. 循环体将执行一次
B. 循环体将执行两次
C. 循环体将执行无限次
D. 系统将提示有语法错误
21.执行下列程序段后,a值为( A )。
a=1;b=0;
if((a++>++b)?a++;b--) a+=b;
A. 2
B. 3
C. 4
D. 5
22.若x为char型变量,y为int型变量,x,y均有值,正确的输出函数调用是(A)。
A. printf("%c%c",x,y);
B. printf("%c%s",x,y);
C. printf("%f%c",x,y);
D. printf("%f%d",x,y);
23.假定a和b为int型变量,则执行以下语句后b的值为(D)。
a=1;b=10
do
{b-=a;a++;
}while (b--<0);
A. 9
B. -2
C. -1
D. 8
24.设有说明语句:int x=43,y=0;char ch='A';,则表达式(x>=y && ch<'b' && !y)的值是( C )。
A. 0
B. 语法错
C. 1
D. 假
25.假定a和b为int型变量,则执行以下语句后b的值为(D)。
a=1;b=10;
do
{ b-=a;a++;
} while (b--<0);
A. 9
B. -2
C. -1
D. 8
26.下列不正确的转义字符是(C)。
A.'\\'
B.'\''
C.'074'
D.'\0'
27.已知字符'b'的ASCII码为98,语句printf(''%d,%c'','b','b'+1);的输出为(D)。
A. 98,b
B. 语句不合法
C. 98,99
D. 98,c
28.下列(B)说法,是对“int *p;”正确解释。
A.定义p是整型变量
B. 定义p为指向整型变量的指针变量
C. 定义p为数组名
D. 定义p的内容为整形地址
29.以下各组运算符中,优先级最高的运算符是( B )。
A. < =
B. /
C. ! =
D.& &