ImageVerifierCode 换一换
你正在下载:

C题库.docx

[预览]
格式:DOCX , 页数:103 ,大小:71.08KB ,
资源ID:3729678      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3729678.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C题库.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C题库.docx

1、C题库选择题:1 在文件包含的预处理中,被包含的文件应是_B_。A) 可执行文件B) 源文件C) 目标文件D) 批处理文件2 若file1中包含file2,file2中要用到file3,若file2中没有 #include file3.h语句,则在file1.c中应进行如下定义_B_。A) #include file2.h 和 #include file3.h B) #include file3.h 和 #include file2.h C) #include file2.h , file3.h D) #include file2.h , file3.h 3 设有以下宏定义: #define

2、N 3 #define Y(n) (N+1)*n)则执行语句z=2*(N+Y(5+1);后,z的值为_C_。A) 出错 B) 42 C) 48 D) 544关于宏的下列说法正确的是_C_。A) 宏名必须用大写字母表示。B) 在#define R 4.5中,R代替了常量4.5。 C) 可以用#undef命令终止宏定义的作用域。D) 宏定义是特殊的C语句,应在行末加分号5 若有#define S(r) PI*r*r,则S(a+b)展开后的形式为_A_。A) PI*a+b*a+b B) PI*(a+b)*(a+b) C) PI*a*a+PI*b*b D)PI*r*r*(a+b)6 关于带参数的宏,下

3、列说法正确的是_D_A) 宏名无类型,但是它的参数是有类型的。B) 宏展开只能得到一个结果。 C) 宏展开时要进行内存单元的分配。D) 宏展开时,不求参数的值,而只进行字符替换。7 在C语言中,char型数据在内存中的存储形式是:_D_。A) 补码B) 反码 C) 原码 D) ASCII码 8 _B_是C语言提供的合法的数据类型关键字。A) Float B) unsigned C) integer D) Char 9 下列语句中符合C语言语法的赋值语句是:_D_。A) a=7+b+c=a+7; B) a=7+b+=a+7; C) a=7+b,b+,a+7 D) a=7+b,c=a+7;10 字

4、符串ABC的长度是:_B_。(最外边的双引号为字符串的定界符,不是字符串的内容。) A) 11 B) 7 C) 5 D) 3 11程序段 unsigned a=65535; printf(%d,a); 执行时输出的结果是:_B_。 A) 65535 B) -1 C) -32767 D) 1 12 程序段 int x,y; x=13; y=5; printf(%d,x%=(y/=2); 执行时输出的结果是:_C_。 A) 3 B) 2 C) 1 D) 0 13 _D_是不正确的C语言赋值语句。A) x=1,y=2; B) x+; C) x=y=5; D) y=int(x); 14 下列语句中符合

5、C语言语法的赋值语句是:_B_。A) x=(3+b,z)=x+3; B) x=7+y,y+,z+; C) x=y+2=x+y+z; D) x=3+y+=x+3; 15 对于语句 f=(3.0,4.0,5.0), (2.0,1.0,0.0); 的判断中,_B_是正确的。 A) 语法错误B) 使 f 的值为5.0 C) 使 f 的值为0.0 D) 使 f 的值为2.0 16 对于赋值语句 char cx=037; 判断正确的是:_B_.A) 不合法,不能赋值B) cx的值是一个字符 C) cx的值是四个字符D) cx的值是三个字符17 语句 int x=-4L; printf(%d,x); 对其正

6、确的判断是:_A_A) 输出值为-4 B) 赋值非法C) 输出值不确定D) 输出值为4 18 若 x,i,j,k 都是 int 型变量,则计算 x = (i=4,j=16,k=32) 后,x的值为:_C_。 A) 4 B) 16 C) 32 D) 52 19 以下符合C语言语法的赋值表达式是:_B_。A) d=q+e+f=d+9 B) d=q+e,f=d+9; C) d=q+e=d+9; D) d=q+e+=d+7; 20 文件包含中,被包含文件_D_A) 必须用“.h为后缀。 B) 可以是目标文件或源文件。C) 可以是可执行文件。 D) 可以嵌套其它文件。 21设有以下变量定义float a

7、; int i;选择正确的输入语句是_A_;A) scanf (%f%d, &a,&i); B) scanf (%6.2f%d, &a,&i); C) scanf (%f%d, a,i); D) scanf (%f%u, &a,&i); 22 若有以下结构体定义: Dstruct example int x; int y; vl; )是正确的引用或定义。A) example.x=10; B) example v2;v2.x=10 C) struct v2;v2.x=10; D) struct example v2=1023 对于如下的结构体定义,若对变量person的出生年份进行赋值,正确的赋

8、值语句是: Cstruct date int year,month,day;struct worklist char name20;char sex;struct date birthday;person;A) year=1976;B) birthday.year=1976;C) person.birthday.year=1976;D) person.year=1976;24 若有以下说明,则对结构体变量stud1中成员age的不正确引用为( ) Bstruct studentint age; int num; stud1, *p; A) stud1.age B) p.age C) p-age

9、 D) (*p).age 26 对于下述定义,不正确的叙述是( C )。union data int i;char c;float f; a,b;A) 变量a所占内存的长度等于成员f的长度B) 变量a的地址和它的各成员地址都是相同的 C) 可以在定义时对a初始化 D) 不能对变量a赋值,故a=b非法 27 #include union un A int i; char c2; ; main ( ) union un x;x.c 0=10; x.c 1=1;printf (n%d,x.i); A) 266 B) 11C) 265 D) 256 28 若有以下说明,则对结构体变量stud1中成员a

10、ge的不正确引用是:struct student Bint age; int num; stud1, *p; A) stud1.age B) student.age C) p-age D) (*p).age 29 若已定义了如下的共用体类型变量x,则x所占用的内存字节数为( ) C(设在16位PC机的环境下)。union dataint i;char ch;double f; x; A) 7B) 11 C) 8 D) 10 30 设函数的调用形式如下: f(x1, x2),(y1,y2,y3), 则函数有 _A_个形参。 A) 2 B) 3 C) 4 D) 5 31下列程序正确的运行结果为(

11、)。 C#include stdio.hunion pint i;char c2; x;main()x.c0=13; x.c1=0;printf(%dn, x.i); A) 208 B) 14 C) 13 D) 209 32 若已定义了如下的结构体类型变量x,则x所占用的内存字节数为_D_ (设在16位PC机的环境下)。struct studentint num;char name20;char sex;int age; x; A) 2 B) 6 C) 20 D) 25 33 下列程序正确的运行结果为( C )。#includemain()union uchar *name;int age;i

12、nt income; s;s.name=WANGLING;s.age=28;s.income=1000;printf(%dn, s.age); A) 8 B) 28 C) 1000D) 不确定 34 若有以下程序段,则使用错误的选项是(D )。struct studentint num;int age;struct student stu3 =1001,20,1002,19,1004,20;main();struct student *p;p=stu; A) (p+)-num B) p+ C) (*p).num D) p=&stu.age 35 在C语言中,对文件的存取是以_D_为单位。A)

13、程序B) 文件C) 模块D) 字节 36 下面对函数的叙述,正确的是_B_。 A) 函数的返回值是通过return语句获得的B) 函数不能嵌套定义C) 函数中没有return语句,说明不带回值D) 函数中无论是否有return语句,都能返回正确值 37 以下哪一个函数的运行不可能影响实参_C_。A) void f(char *x) B) void f(char x ) C) void f(char x, char y) D) void f(char *x ) 38 以下对静态局部变量的叙述哪一个是不正确的_B_。A) 静态局部变量在整个程序运行期间都不释放B) 在一个函数中定义的静态局部变量可

14、以被另一函数调用C) 静态局部变量是在编译时赋初值的,故它只被赋值一次 D) 数值型静态局部变量的初值默认为0 39所谓文本文件又叫_A_文件。A) ASCIIB) 可执行C) 图象D) 保存 40 定义my_file为文件型指针变量,使用fopen打开一个能读能写的新的二进制文件,以下正确的调用形式为_B_。A) my_file=fopen(my.dat, ab+); B) my_file=fopen(my.dat, wb+); C) my_file=fopen(my.dat, r+); D) my_file=fopen(my.dat, ab); 41 定义my_file为文件型指针变量,使

15、用fopen打开一个能读能写的新的文本文件,正确的调用形式为_ C_。A) my_file=fopen(my.dat, ab+); B) my_file=fopen(my.dat, wb+); C) my_file=fopen(my.dat, w+); D) my_file=fopen(my.dat, r+); 42 有一个已有值的实型变量voltage,若要把它们保存到一个磁盘文件fp中,正确的形式是_C_。 A) fprintf(voltage,fp); B) fprintf(fp,voltage,1); C) fprintf(fp,%f,voltage); D) fprintf(%f,v

16、oltage,fp); 43 有一个已有值的实型变量current,若要把它们保存到一个磁盘文件fp中,正确的形式是_B_。A) fprintf(current,fp); B) fprintf(fp,%f,current); C) fprintf(fp,f,current); D) fprintf(fp,%d,current); 44 fprintf和fscanf只能一次输入/输出_D_数据。A) 一个实数B) 一个整数 C) 一个字符D) 前三个都不是 45 在函数调用语句中,fopen(my.dat,ab+);的含义是_A_。A) 为读/写打开一个二进制文件 B) 为读/写打开一个文本文件

17、 C) 为写打开一个二进制文件 D) 读一个二进制文件 46 在函数调用语句中,fopen(my.dat,rb);的含义是_D_。A) 为读/写打开一个二进制文件B) 读一个二进制文件 C) 为写打开一个二进制文件 D) 为输入打开一个二进制文件 47 若有如下说明,则下列叙述中正确的是(已知int类型占两个字节): struct st D int a; int b2; a;A) 结构变量a与结构体成员a同名,定义是非法的B) 程序只在执行到该定义时才为结构体st分配存储单元C) 程序运行时为结构体st分配6字节存储单元 D) 类型名struct st 可以通过extern 关键字提前引用 4

18、8 用数组名作为函数调用时的实参,实际上传递给形参的是_B_。A) 数组全部元素的值B) 数组首地址 C) 数组第一个元素的值 D) 数组元素的个数 49 根据下面的程序, 正确的输出形式是_D_;(答案中用U来代替空格)main( ) int i=5, j=10; printf (i=%d, i); printf (j=%d , j); A) i=5Uj=10 B) 5,10 C) 10,5 D) i=5,j=10U 50能正确表示a和b同时为正或同时为负的逻辑表达式是:(D)A) (a=0|b=0)&(a0|b=0&b=0)&(a0&b0)&(a+b0 52 以下程序输出的是:(C )(答

19、案中用大写字母U代表空格) main() int a=-1,b=4,k; k=(a+=0)&(!(b-=y=z,应使用C语言表达式为:(A )A) (x=y)&(y=z) B) (x=y)AND(y=z) C) (x=y=z) D) (x=y)&(y=z) 55 要求在if后一对圆括号中表示a不等于0的关系,能正确表示这一关系的表达式为:(A ) A) a!=0 B) !a C) a=0 D) a 56 设a为整型变量,不能正确表达数学关系 10a15的C语言表达式是: ( A)A) 10a10&a15 D) !(a=15) 57 在C语言中,表示逻辑值“真”的是: (B )A) 大于0的值

20、B) 非0的值 C) ture D) 非零整数 58 在以下一组运算符中,优先级最高的运算符是: (C )A) 0同时y0)&(y=10) B) (x=0)AND(y0,y=10 D) (x=0)&(y=10) 60 设a,b,c,f均为整型变量,则执行以下程序段后,f的值为:( B) a=0; b=c=1; f=-a|+b&-c; A) 0 B) 1 C) 2 D) 不确定值 61 不合法的关系表达式是:(A )A) x=y B) a+1=n+1 D) x!=x+y 62 假定有以下变量定义: int k=7,x=12; 则能使值为3的表达式是:(D)A) x%=(k%=5) B) x%=(

21、k-k%5) C) x%=k-k%5 D) (x%=k)-(k%=5) 63 ggg(x)float x; printf(“n%d, x*x);则函数的类型为_C_。A) 与参数x的类型相同 B) 是void C) 是int D) 无法确定 64以下程序的输出结果是 _B_。#include stdio.h f(char *s) char *p=s; while(*p!=0) p+; return(p-s); main( ) printf(%dn,f(ABCDEF); A) 3 B) 6 C) 8 D) 0 65 C语言程序的基本单位是:_C_。A) 程序行 B) 语句 C) 函数 D) 字符

22、 66 下面函数的功能是:_B_sss(s,t)char *s, *t; while(*s)&(*t)&(*t+= =*s+); return(*s-*t); A) 求字符串的长度 B) 比较两个字符串的大小 C) 将字符串s复制到字符串t中 D) 将字符串s续接到字符串t中 67 函数char ctype(int x, int y)的返回类型由_A_确定。A) 字符型 B) return语句返回的表达式类型 C) 浮点型 D) 调用时的实参类型 68 若定义了以下函数:void f() *p=(double *)malloc(10*sizeof(double); p是该函数的形参,要求通过p

23、把动态分配的存储单元的地址传回主调函数,则形参p的正确定义应当是:_C_。A) double *p; B) float *p; C) double *p; D) float *p; 69 下面程序段运行的结果是:Bx=-1;do x=x*x; while (!x); A) 死循环 B) 循环执行一次C) 循环执行两次 D) 有语法错误 70 下列程序的运行结果是:_B_。void fun( int *a, int *b) int *k; k=a; a=b; b=k; main( ) int a=3,b=6,*x=&a, *y=&b; fun(x, y); printf(%d %d,a, b);

24、 A) 6 3 B) 3 6 C) 编译出错 D) 0 0 71 针对for循环语句,for(表达式1;表达式2;表达式3),下列说法正确的是:(C )A) break语句可以一次性跳出多层嵌套循环 B) continue语句可以一次性跳出多层嵌套循环 C) break语句只能跳出最内层循环 D) continue语句不能跳出最外层循环 72 存在多层嵌套循环时,下列说法正确的是:(B )A) continue语句能够中止包含该语句的最内层循环 B) break语句能够中止包含该语句的最内层循环 C) continue语句可以中止所有循环D) break语句可以中止所有循环73下面程序的运行结

25、果是: D#include stdio.hmain() int x,i; for(i=1;i=100;i+) x=i; if(+x%2=0) if(+x%3=0) if(+x%7=0) printf(%d,x); A) 3981 B) 4284 C) 2668 D) 2870 74 下面程序正确的运行结果是: C (大写字母U代表空格)main() int num=0; while(num=2) num+; printf(%3d,num); A) UU1B) UU1UU2 C) UU1UU2UU3 D) UU1UU2UU3UU4 75 针对下列程序段回答问题:A for(t=1;t=100;t

26、+) scanf(%d,&x); if(x=0时什么也不输出 C) printf函数永远也不执行D) 当x0); A) num/100%10=4 B) num/10%100=4 C) num%100/10=4 78 下面程序是从键盘输入4位正整数,输入0或负数时结束循环。请在划线处填写内容。 A#include stdio.hmain() int num; scanf(%d,&num); do scanf(%d,&num); while(_); A) num0 B) num=0 C) !num D) !num!=0 79下面程序的运行结果是: D#include stdio.hmain() int a=1,b=10; do a+; b-=a; while(b-0); printf(a=%d,b=%d,a,b); A) a=2,b=-1 B

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1