《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(''",''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. & &
30.表示关系x<=y<=z的C语言表达式为( A )。
A. (x<=y)&&(y<=z) B. (x<=y)and(y<=z)
C. (x<=y<=z) D. (x<=y)&(y<=z)
31.下列程序段执行后s值为( C )。
int i=1,s=0;
do{if(!(i%2))continue;s+=i}while(++i<10);
A. 1 B. 45 C. 25 D. 以上均不是
32.若x,y均为int型变量且有值,要输出x,y的值,正确的输出函数调用是( D )。
A. printf("%d%d",&x,&y); B. printf("%f%f",x,y);
C. printf("%f%d",x,y); D. printf("%d%d",x,y);
33.字符串“c program”存放在内存中占用字节数为( A )。
A. 10 B. 9 C. 11 D. 8
34.下列程序段运行后x的值是( D )。
A. 14 B. 4 C. 15 D. 3
int al=1,a2=2,a3=3,x=15;
if (!al) x--;
else if (a3) x=3;
else x=4;
35.对于int a,则表达式1<=a<=5值是( B )。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论