C语言考试题库 1
更新时间:2023-10-18 11:16:01 阅读量: 综合文库 文档下载
- c语言考试题库及答案推荐度:
- 相关推荐
1、下列叙述中错误的是(A)。
A.一个C语言程序只能实现一种算法 B.C程序可以由多个程序文件组成 C.C程序可以由一个或多个函数组成 D.一个C函数可以单独作为一个C程序文件存在
2、以下叙述中正确的是(C)。
A.C程序的基本组成单位是语句 B.C程序中的每一行只能写一条语句 C.简单C语句必须以分号结束 D.C语句必须在一行内写完 3、以下叙述中正确的是(C)。 A.C程序中的注释只能出现在程序的开始位置和语句的后面
B.C程序书写格式严格,要求一行内只能写一个语句
C.C程序书写格式自由,一个语句可以写在多行上
D.用C语言编写的程序只能放在一个程序文件中 4、按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(B)。 A.大写字母 B.连接符 C.数字字符 D.下划线
5、下列定义变量的语句中错误的是(D)。 A.int _int; B.double int_; C.char For; D.float USS
6、以下选项中不能作为C语言合法常量的是(A)。
A.′cd′ B。 0.1c+6 C.〞\\a〞 D.′\\011′
7、以下选项中不属于字符常量的是 (B)。 A.'C' B.\.'\\xCC0' D.'\\072' 8、下列常量哪个是不合法的(B)。 A.0x4d00 B.‘BASIC’ C.?\\\\? D. “/045”
9、以下4组用户定义标识符中,全部合法的一组是(A)。 A._main B.If C.txt D.int enclude -max REAL k_2 sin turbo 3COM _001 10、以下选项中不属于字符常量的是(B)。 A.'C' B.\ C.'\\xCC' D.'\\072' 11、下列变量名中哪个是不合法(C)。 A.Turbo_C B.vc C.int D._2ab 12、设变量已正确定义并赋值,以下正确的表达式是(B)。
A.b=3++ B.x=2,++y C.a=14%3.3 D.x=y+3=2
13、以下定义语句中正确的是 (D)。
A.int a=b=0 ; B.char A=65+1,b='b'; C.float a=1,*b=&a,*c=&b ; D.double a=0.0,b=1.1;
14、以下选项中正确的定义语句是(C)。 A.double a;b; B. double a=b=7 C.double a=7,b=7; D.double,a,b; 15、以下不能正确表示代数式2ab/cd 的C语言表达式是(D)。
A.2*a*b/c/d B.a*b/c/d*2 C.a/c/d*b*2 D.2*a*b/c*d
16、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是(A)。 A.++x,y=x-- B.x+1=y C.x=x+10=x+y D.double(x)/10 17、以下关于逻辑运算符两侧运算对象的叙述中正确的是(D)。
A.只能是整数0或1 B.只能是整数0或非0的整数 C.可以是结构体类型的数据 D.可是任意合法的表达式
18、若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++): (y++)中的条件表达式(x-y)等价的是(C)。 A.(x-y>0) B.(x-y<0) C.(x-y<║x-y>0) D.(x-y==0)
19、设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A)。
A.k++ B.k+=1 C.++k D.k+1
20、若以下选项中的变量已正确定义,则正确的赋值语句是(C)。
A.x1=26.8%3 B.1+2=x2 C.x3=0x12 D.x4=1+2=3; 21、执行以下程序段后,w的值为(C)。 int w=′A′,x=14,y=15; w=((x||y)&&(w<′a′));
A. -1 B.NULL C.1 D. 0 22、当变量c的值不为2、4、6时,值也为“真”的表达式是 (B)。 A.(c==2)‖(c==4)‖(c==6)
B.(c>=2&&c<=6)‖(c!=3)‖(c!=5) C.(c>=2&&c<=6)&&!(c%2)
第 1 页 共 12 页
D.(c>=2&&c<=6)&&(c%2!=1) 23、 设有以下定义 int a=0;
double b=1.25; char c=?A?; #define d 2
则下面语句中错误的是(D)。 A.a++; B.b++ C.c++; D.d++; 24、若有以下函数首部
int fun(double x[10],int *n)则下面针对此函数声母语句中正确的是 (B)。
A.int fun(double x,int *n); B.int fun(double ,int);
C.int fun(double*x,int n); D.int fun(double *,int*); 25、若程序中定义了以下函数
double myadd(double a,double b) { return (a+b);}
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是(A)。
A.double myadd(double a,b); B.double myadd(double,double);
C.double myadd(double b,double a); D.double myadd(double x,double y); 26、若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是(C)。 A.abs(x-y)<10 B.x-y>-10&& x-y<10 C.(x-y)<-10||!(y-x)>10 D.(x-y)*(x-y)<100 27、已知int x=10,y=20,z=30; if(x>y) z=x;x=y;y=z;执行后x,y,z的值是(B)。 A.x=10,y=20,z=30 B.x=20,y=30,z=30 C.x=20,y=30,z=10 D.x=20,y=30,z=20 28、对for(表达式1; ; 表达式3)可理解为(B)。
A. for(表达式1; 0; 表达式3) B. for(表达式1; 1; 表达式3)
C. for(表达式1; 表达式1; 表达式3) D. for(表达式1; 表达式3; 表达式3) 29、以下叙述中正确的是(C)。
A.break语句只能用于switch语句体中 B.continue语句的作用是:使程序的执行流程跳出包含它的所有循环 C.break 语句只能用在循环体内和switch语句体内 D.在循环体内使用break语句和continue语句的作用相同
30、下列叙述中正确的是(D)。
A.break语句只能用于switch语句 B.在switch语句中必须使用default C.break语句必须与switch语句中的case配对使用
D.在switch语句中,不一定使用break语句 31、在嵌套使用if语句时,C语言规定else总是(C)。 A.和之前与其具有相同缩进位置的if配对 B.和之前与其最近的if配对
C.和之前与其最近的且不带else的if配对
D.和之前的第一个if配对
32、若i为整型变量,则以下循环执行次数是(B)。
for(i=2;i==0;) printf(\
A.无限次 B. 0次 C. 1次 D. 2次 33、以下能正确计算1×2×3×...×10的程序段是(C)。
A. do{ i=1; s=1; B.do{ i=1;s=0;
s=s*i; s=s*i; i++; i++;
}while(i<=10); }while(i<=10);
C. i=1; s=1; D.i=1; s=0; do{ s=s*i; do{ s=s*i; i++; i++;
}while(i<=10); }while(i<=10);
34、若有宏定义:#define f(x) x/x,则表达式f(3+6)的值为(C)。
A.1 B.25 C.11 D.4
35、下面的函数调用语句中func函数的实参个数是(A)。
func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));
A. 3 B. 4 C.5 D. 8 36、以下叙述中错误的是(B)。 A.用户自定义的函数中可以没有return语句
B.用户自定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值 C.用户自定义的函数中若没有return语句,则应当定义函数为void类型
D.函数的return语句中可以没有表达式 37、以下关于宏的叙述中正确的是(C)。
第 2 页 共 12 页
A.宏名必须用大写字母表示 B.宏定义必须位于源程序中所有语句之前 C.宏替换没有数据类型限制 D.宏调用比函数调用耗费时间 38、以下能正确定义一维数组的选项是(B)。 A.int a[5]={0,1,2,3,4,5}; B.char a[]={0,1,2,3,4,5}; C.char a={'A','B','C'}; D.int a[5]=\
39、若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是(D)。
A.#define N 10 Int a[N] B.#define n 5 Int a[2*n] C.int a[5+5] D.int n=10,a[n]
40、以下能正确定义二维数组的是(C)。 A.int a[][3]; B.int a[][3]=2{2*3}; C.int a[2][3]={0};
D.int a[2][3]={{1},{2},{3,4}};
41、若有以下定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是(C)。 A.m[i] B.m[2*2] C.m[m[0]] D.m[m[i]] 42、若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是(B)。 A. *p B. x[5] C.*(p+1) D. *x 43、若有定义语句:char s[10]=〞1234567\\0\\0〞;,则strlen(s)的值是(A) A.7 B. 8 C. 9 D. 10
44、有说明int a[][3]={1,2,3,4,5,6,7,8,9,10};则数组a的第一维的大小是(C)。
A.1 B.3 C.4 D.不能确定 45、若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是 (D)。 A.a[2][!1] B.a[2][3] C.a[0][3] D.a[1>2][ !1] 46、以下叙述中错误的是 (D)。
A.在程序中凡是以“#”开始的语句行都是预处理命令行
B.预处理命令行的最后不能以分号表示结束
C.#define MAX是合法的宏定义命令行 D.C程序对预处理命令行的处理是在程序执行的过程中进行的 47、设有定义语句int(*f)(int);,则以下叙述正确的是 (B)。
A.f是基类型为int的指针变量
B. f是指向函数的指针变量,该函数具有一个int类型的形参
C. f是指向int类型一维数组的指针变量 D. f是函数名,该函数的返回值是基类型为int类型的地址
48、判断字符串s1是否大于字符串s2,应当使用(D)。 A. if(s1>s2) B. if(strcmp(s1,s2)) C. if(strcmp(s2,s1)>0) D. if(strcmp(s1,s2)>0)
49、判断字符串a和b是否相等,应当使用(C)。
A.if(a==b) B.if(a=b) C. if(strcmp(a,b)) D.if(strcpy(a,b))
50、设已有定义:float x;则以下对指针变量p进行定义且赋初值的语句中正确的是(D)。 A.float *p=1024; B.int *p=(float x); C.float p=&x; D.float *P=&x; 51、若已有说明float *p,m=3.14; 要让p指向m,则正确的赋值语句是(B)。
A. p=m; B. p=&m; C. *p=m; D. *p=&m;
52、若有定义:int *p[4]; 则标识符p(B)。 A. 是一个指向整型变量的指针 B. 是一个指针数组名
C. 是一个指针,它指向一个含有四个元素的一维数组 D. 说明不合法 53、定义结构如下: struct stu {long sno;
char name[10]; int a;
float b;};
则sizeof(struct stu)的值为(B)。
A. 4 B. 20 C. 22 D. 24 54、以下对结构变量stu1中成员age的非法引用是(B)。 struct student { int age; int num;
} stu1,*p;p=&stu1;
A. stu1.age B. p.age C. p->age D. (*p).age
第 3 页 共 12 页
55、在C语言中,只有在使用时才占用内存单元的变量,其存储类型是 (A)。 A.auto和register B.extern和register C. auto和static D. static和register 56、设有定义语句:char c1=32,c2=32;则以下表达式中值为零的是(A)。 A. c1^c2 B. c1&c2 C. ~c2 D. c1|c2
57、C语言中可以处理的文件类型是(B)。 A.文本文件和数据文件 B.文本文件和二进制文件
C.数据文件和二进制文件 D.任何类型文件
58、若要以写的方式创建新打开文本文件,则在fopen函数中使用的打开方式是(A)。 A.\ B.\ C.\ D.\59、若有定义: int a=1,b=2,c=3;则表达式 (ac?c:(a
A.3 B.6 C.9 D.12 二、阅读程序题,写出运行结果。 1、main() { int a=2; if(a>0) a-=2; else
if(a==0) a-=2; else
a+=10;
printf(\}
输出结果为:______0____。 2、main()
{ int x=6,y=2; if(x>5)
if(x>0) printf(\ else printf(\ printf(\}
输出结果为:________6__。 3、#include
{ int x=1,y=2,z=3; if(x>y)
if(y>z) printf(〞%d〞,++z); else printf(〞%d〞,++y); printf(〞%d\\n〞,x++); }
输出结果为:________1___。 4、main() { int x,y,z; x=y=z=0;
++x&&++y||++z;
printf(\ %d %d\\n\}
输出结果为:______1 1 0___________。 5、main() { int x=2; switch(x==2) { case 1:printf(\ case 2:printf(\ } }
输出结果为:______*___________。 6、有以下程序
#include
{ int x=1,y=0,a=0,b=0; switch(x) { case 1:
switch(y)
{ case 0: a++; break; case 1: b++; break; }
case 2: a++; b++; break; case 3: a++; b++; }
printf(“a=%d,b=%d\\n”,a,b); }
输出结果为:_____ a=2,b=1___________。 7、main() { int i;
for(i=0;i<3;i++) switch(i)
{ case 0:printf(“%d”,i++); case 1:printf(“%d”,++i); default:printf(“%d”,i);
第 4 页 共 12 页
}
}
输出结果为:____022222_______。 8、main()
{ int k=3,n=0; do
{ switch(k) { case 1: n+=1; break; case 2: n+=2;k--;break; default: n=0;k- -; } printf(\ \ }while(k>0&&n<3); }
输出结果为:______0 2 3______________。 10、 main()
{ int i;
for(I=1;I<=40;I++) { if(I++%5=0)
if (++I%8=0) printf(\ }
printf(\ }
输出结果为:______32____________。 11、main()
{ int i=1,s=3;
while(s<15) { s+=i++; if(s%7==0) continue; else i++;
}
printf(\}
输出结果为:__8______________。 12、#include
main()
{ int x=8;
for( ; x>0; x--)
{if(x%3){printf(“%d,”,x- -);
continue;}
printf(“%d,”,- -x); } }
输出结果为: 8,5,4,2 。 13、main()
{ int i,j;
for(i=1;i<3;i++)
{ for(j=i;j<3;j++)
printf(\
printf(\ }
} 1*1=1 1*2=2 输出结果为: 2*2=4 。 14、main() { int aa[3][3]={{1,2,3},{1,2,3},{1,2,3}}; int i,k=0,s=0; for(i=0;i<3;i++) {s+=aa[i][k]; ++k; }
printf(\ }
输出结果为:______6_。 15、fun(int a, int b) { return(a
main()
{ int x=5, y=7, z=6, r; r=fun(z, fun(x,y)); printf(\}
输出结果为:________5______。 16、int x; void plusone() { x++; } main() { x=1;
plusone(); plusone();
printf(\}
输出结果为: x=3 。 17、int f()
{ int sum=0; static int x=1; return sum+=x++; }
main() { int i;
第 5 页 共 12 页
正在阅读:
C语言考试题库 110-18
101个浪漫点子06-02
2022年四川大学经济学院433税务专业基础之税收管理考04-14
九年级上册Unit5 Action教案11-17
魅力科学答案12-09
存储器EM实验报告剖析 - 图文10-05
信号检测与估计理论第一章习题讲解03-08
高考生物一轮限时规范训练 2-4 能量流动和物质循环(含解析)新03-28
暖气片不热的原因统计06-14
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 考试题库
- 语言
- 废水池防腐验证标准
- 统借统还问题
- 家长学校制度汇编
- 2004年全国高中数学联合竞赛试题 - 图文
- 人教版三年级下小学英语全英文教案 - 图文
- 2014年北京春季会考英语试卷和答案-完整word版
- 中国共产党入党积极分子考察表(规范化填写)
- 物理上4-8习习题解
- SQL Profiler事件探测器
- 机械基础模拟试题—常用机构
- 苏教版六年级上册语文第一单元 词语解释 查字典
- 吉林省延边州2014届高三下学期质量检测数学(理)试题Word版含解析
- 湖北省产业结构调整分析
- 六年级暑期测试
- 浇铸尼龙的实验报告
- “品海棠 忆总理”诗歌朗诵比赛通讯稿
- 关于印发《矿产资源储量规模划分标准》的通知(国土资发133号) - 图文
- 2014年主管护师考试仿真试题第三套
- 印花税试题(2)
- 中南大学 数电试卷及答案03