C语言综合练习题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
18.若有说明:int a[][4]={{0},{0}}则二维数组a的第一维大小为0。()
19.字符串"china"在内存中占据的存储空间是5个字节。()
20.打开文件的函数是fclose。()
21.打开文件的函数是fopen()。
22.若有说明:sratic int a[3][4];则数组a中各元素可在程序的编译阶段得到初值0。()
9.fp=fopen(''test.txt",''r'');语句中,r对文件处理方式是()。
A.只读打开文件B.只写打开文件
C.追加打开文件D.读写打开文件
10.表示关系x<=y<=z的C语言表达式为()
A.(x<=y)&&(y<=z)B.(x<=y)and(y<=z)
C.(x<=y)&(y<=z) D.(x<=y<=z)
a=1;b=10;
do
{ b-=a;a++;
} while (b--<0);
A.9 B.-2C.-1 D.8
26.下列不正确的转义字符是()。
A.'\\'B.'\'C.'074'D.'\0'
27.已知字符'b'的ASCII码为98,语句printf(''%d,%c'','b','b'+1);的输出为()。
18.若x,y均为double型变量,正确的输入函数调用是()。
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)的值是()。
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)是()。
A.!(i%2)||!(j%2)B.!(i%2)&&!(j%2)
C.(i%2)&&!(j%2)D.(i%2)||(j%2)
11.如果要把常量327存入变量a中,a不能定义的类型是()。
A.int B.char C.long D.float
12.在变量的存储结构中,()局部变量的初始化只有一次。
A.自动B.静态C.外部D.寄存器
13.下列能正确进行字符串赋值操作的语句是()。
A.char s[5]={"ABCDE"};B.char s[5]={'a','b','c','d','e'}
A.(x<=y)&&(y<=z) B.(x<=y)and(y<=z)
C.(x<=y<=z)D.(x<=y)&(y<=z)
31.下列程序段执行后s值为()。
inti=1,s=0;
do{if(!(i%2))continue;s+=i}while(++i<10);
A.1 B.45 C.25 D.以上均不是
45.设C语言中,一个int型数据在内存中占2个字符,则unsigned int型数据的取值范围为()。
A.0~255 B.0~32767 C.0~65535 D.0~2147483647
46.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数时,正确的数据输入方式是()。
6.实型分类:单精度、双精度和整型。()
7.逻辑运算优先级别都低于算术运算。()
8.函数的形参在退出该函数后是不可见的。()
9.如果在定义函数时省略extern,则隐含为外部函数。()
10.定义二维数组时,第一维长度可以省略。()
11.字符'\0'是字符串的结束标记,其ASCII代码为0。()
12.若有int i=10,j=0;则执行完语句if(j=0)i++;else i--;i的值为11。()
A.2005 B.2010 C.2015D.2020
43.假定p所指对象的值为25,P+1所指对象的值为46,则*(++p)的值为()。
A.26B.25C.46D.47
44.若i为整型变量,则以下循环执行的次数是()。
For(i=2;i==0;)printf(''%d'',i--)
A.无限次B.0次C.1次D.2次
22.若x为char型变量,y为int型变量,x,y均有值,正确的输出函数调用是()。
A.printf("%c%c",x,y); B.printf("%c%s",x,y);
C.printf("%f%c",x,y); 源自文库.printf("%f%d",x,y);
23.假定a和b为int型变量,则执行以下语句后b的值为()。
36.变量的存储类型有四种。下列()的存取速度最快。
A.自动变量B.静态变量
C.外部变量D.寄存器变量
37.假定a和b为int型变量,则执行以下语句后b的值为()。
a=1;b=10;
do
{b-=a;a++;}
while(b--<0);
A.9 B.-2C.-1 D.8
38.设有以下程序段:
int x=0,s=0;
23.假设定义数组:float score[10];并且其地址为2000,则元素score[5]的地址为2005。()。
24.C语言的基本单位是函数。()
25.已知字符'b'的ASCII码为98,语句printf(''%d,%c'','b','b'+1);的输出为:98,99。()
26.从变量的作用域来分,变量可以分为静态变量和动态变量。()
A.7 B.8C.9D.2
20.当执行以下程序段时()。
x=-1;
Do {x=x*x;}while(!x);
A.循环体将执行一次B.循环体将执行两次
C.循环体将执行无限次D.系统将提示有语法错误
21.执行下列程序段后,a值为()。
a=1;b=0;
if((a++>++b)?a++;b--)a+=b;
A.2B.3C.4D.5
intmain()
{int x,y,z;
scanf("%d%d%d",&x,&y,&z);
printf("x+y+z=%d\n", x+y+z);
return 0;
}
A.x+y+z= 48B.x+y+z=35C.x+z=35D.不确定值
48.表示图中坐标轴上阴影部分的正确表达式是()。(其中a<b<c)
32.若x,y均为int型变量且有值,要输出x,y的值,正确的输出函数调用是()。
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”存放在内存中占用字节数为()。
C.char *s;s="abcde"; D.char *s; scanf("%s",s);
14.语句if(3/4>1/2)a=1;else a=0;运行后,a的值是()。
A.1 B.0 C.与机器有关D.语法有错
15.下列()是合法自定义标识符。
A.3maB.float C.m3aD.–ab
16.设a,b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是()
A.字母B.数字C.下划线D.标点符号
6.表达式:3>5&&-1||6<3-!-1的值是()。
A.0 B.1C.表达是不合法D.均不对
7.以下标识符中能做为合法的C用户标识符的是()。
A.A3+B3 B.float C.3dx D.x3d
8.以下数据中不正确的数值或字符常量是()。
A.0.0B.3E2.7C.9861D.0xabcd
《C语言程序设计》综合练习题
一、单项选择题
1.下列()是字符串比较函数。
A.puts()B.gets()C.strcpy ()D.strcmp()
2.构成一个完整的C源程序必须有且只有一个()。
A.函数B.过程C.主函数D.程序
3.设有int i,j,k;则表达式i=1,j=2,k=3,i&&j&&k的值为()。
A. 0 B.1 C. 6 D. 12
40.已知字母a的码值为十进制97,数字0的码值为十进制48,下面程序的输出是()。
A.输出无定值B.e,4C.101,52D.e,52
#include <stdio.h>
int main()
{char c1,c2;
c1='a'+'6'-'2';
c2='b'-'a'+'3';
B.运行程序段后输出1
C.程序段中的控制表达式是非法的
D.程序段执行无限次
二、判断题
1.打开文件的函数是fclose。()。
2.局部静态变量是在编译时赋初值的,且只赋初值一次。()
3.C语言中允许使用字符串变量。()
4.外部变量必须定义在文件的开头部分。()
5.语句while(!E);中的表达式!E等价于E==0。()
A.(x<=a)&&(x>=b)&&(x<=c)B.(x<=a)||(b<=x<=c)
C.(x<=a)||(x>=b)&&(x<=c)D.(x<=a)&&(b<=x<=c)
49.设有以下程序段:
intx=0,s=0;
while(!x!=0) s+=++x;
printf("%d ",s);
则()。
A.运行程序段后输出0
printf("%c,%d\n",c1,c2);
return 0;
}
41.若x和y都是int型变量,x=100,y=200,则下列程序段:printf(''%d'',(x,y));的输出结果是()。
A.200 B.100
C.100 200 D.输出格式符不够,输出不确定的值
42.假设定义数组:float score[10];并且其地址为2000,则元素score[5]的地址为()。
13.continue语句的作用是提前结束整个循环的执行。()
14.Break语句的作用是提前结束整个循环的执行。()
15.在定义函数时的参数是“形式参数”,在调用函数时的参数是“实际参数”。()
16.在函数调用时,实参和形参的变量个数可以不一样多。()
17.在函数调用时,实参和形参的变量个数一定要一样多。()
while(!x!=0) s+=++x;
printf("%d ",s);
则()。
A.运行程序段后输出0
B.运行程序段后输出1
C.程序段中的控制表达式是非法的
D.程序段执行无限次
39.设x和y均为int型变量,则执行以下语句后的输出为()。
x=15;y=5;printf("%d\n",x%=(y%=2));
int a1,a2;char c1,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
A.10A20B<CR>B.10 A20 B<CR>
C.10A20B<CR>D.10A20 B<CR>
47.阅读以下程序,当输入数据的形式为25,13,10<CR>正确的输出结果为()。
#include<stdio.h>
27.若用数组名作为函数调用时的实参,则实际上传递给行参的是数组的第一个元素值。()
28.结构体和数组一样,它们的成员都是相同类型数的集合。()
A.98,b B.语句不合法C.98,99 D.98,c
28.下列()说法,是对“int *p;”正确解释。
A.定义p是整型变量B.定义p为指向整型变量的指针变量
C.定义p为数组名D.定义p的内容为整形地址
29.以下各组运算符中,优先级最高的运算符是()。
A.< = B./C.! = D.& &
30.表示关系x<=y<=z的C语言表达式为()。
A.1 B.2 C.63 D.0
4.在C语言中,不同类型数据混合运算时,要先转化成同一类型后进行运算。设一表达式中包含有int、long、unsigned、char类型的变量和数据,则表达式最后的运算结果是()类型数据。
A.int B.char C.unsigned D.long
5.下列()不是构成标识符的字符。
a=1;b=10
do
{b-=a;a++;
}while (b--<0);
A.9B.-2C.-1D.8
24.设有说明语句:int x=43,y=0;char ch='A';,则表达式(x>=y && ch<'b'&& !y)的值是()。
A.0B.语法错C.1D.假
25.假定a和b为int型变量,则执行以下语句后b的值为()。
A.10 B.9C.11 D.8
34.下列程序段运行后x的值是()。
A.14 B.4C.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值是()。
A.0 B.1 C.不定D.表达式语法有错
相关文档
最新文档