《【优质文档】C语言试题库[完整版].pdf》由会员分享,可在线阅读,更多相关《【优质文档】C语言试题库[完整版].pdf(36页珍藏版)》请在三一文库上搜索。
1、WORD 格式整理 C 语言试题库 一、单项选择 第一章C 语言概述 ( 1)一个 C 程序的执行是从 A 、本程序的MAIN函数开始,到MAIN函数结束。 B 、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D 、本程序文件的第一个函数开始,到本程序的MAIN函数结束。 ( 2)以下叙述正确的是 A 、 在 C 程序中, MAIN函数必须位于程序的最前面。 B 、 C 程序的每行中只能写一条语句。 C、 C 语言本身没有输入输出语句。 D 、 在对一个C 程序进行编译的过程中,可发现注释中的拼写错误。 ( 3)C 语
2、言规定,在一个源程序中,MAIN主函数的位置是在: A 、 必须在最前面。 B 、必须在系统调用的库函数的后面 C、可以在任意位置。 D 、 必须在最后面 ( 4)一个 C 程序是由: A 、 一个主程序和若干子程序组成 B 、 函数组成 C、 若干过程组成 D 、 若干子程序组成 ( 5)以下叙述不正确的是: A 、 一个 C 源程序可由一个或多个函数组成 B 、 一个 C 源程序必须包含一个MAIN 函数 C、 C 程序的基本组成单位是函数 D 、 在 C 程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 ()若x, i, j, k 都是 int 型变量,则计算下面表
3、达式后,x 的值为 x(i , j , k) 、 专业知识分享 WORD 格式整理 、 、 、 ()下列四组选项中,均不是语言键字的选项是 、 define , IF, type B 、getc, char, printf C、include, scanf, case E、 if, struct, type ()下面四个选项中,均是不合法的用户标识符的选项是 、, _, do 、 float,1a0, _A 、 b-a, goto, int D 、_123, temp, INT ()若有代数式 ae/bc ,则正确的语言表达式是 、 a/b/c*e*3 、 3*a*e/bc 、 3*a*e/b
4、*c 、 a*e/c/b*3 ( 5) 已知各变量的类型说明如下: int k, a, b; unsinged long w=5; double x=1.42; 则以下不符合语言语法的表达式是 、 x%(-3) 、 w+=-2; 、 k=(a=2,b=3,a+b) 、 a+=a-=(b=4)*(a=3) 第三章简单 C 程序设计 () putchar 函数可以向终端输出一个 、整型变量表达式值 、实型变量值 、字符串 、字符或字符型变量值 ()若x,y 均定义为int 型, z 定义为 double 型,以下合法的scanf 函数调用语句是 、 scanf( “%d%lx,%le ”, 、 s
5、canf( “%2d*%d%lf ”, 、 scanf( “%x%*d%o ”, 、 scanf( “%x%o%6.2f ”, 专业知识分享 WORD 格式整理 (3) 当输入数据的形式为:,时,以下程序的输出结果为 main() int x,y,z; scanf( “ %d%d%d ” , printf(“ x+y+z=%dn ” ,x+y+z); 、 x+y+z=48 、 x+y+z=35 、 x+z=35 、不确定值 (4)以下能正确的定义整型变量a,b 和 c,并对它们赋初值为的语句是、 int a=b=c=5; 、 int a, b, c=5; 、 a=5, b=5, c=5; 、
6、a=b=c=5; (5)若有以下定义,则正确的赋值语句是 int a,b;float x; 、 a=1, b=2; 、 b+; 、 a=b=5; 、 b=int(x); 第四章选择结构程序设计 ( 1)能正确表示“当 x 的值在 1, 10 和 200 , 210 的范围为真,否则为假”的表达式是 A 、(x=1) elseprintf(“n%d”,m ); A)4 B)5 C)6 D)7 ()为了避免在嵌套的条件语句中if-else中产生二义性,c 语言规定:else 子句总是与 相配对。 A )缩排位置相同的if B )其之前最近的if C)其之后最近的if D )同一行上的if 第五章循
7、环控制 (1) 设有程序段 int k=10 while (k=0)k=k-1 则下面描叙正确的是。 A) while (k=0)k=k-1; B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次 专业知识分享 WORD 格式整理 ( 2)下面程序段的运行结果是。 int n=0; while(n+ 专业知识分享 WORD 格式整理 A)p+5 B)*a+1 C) 则对 a 数组的第 I 行第 J 列(假设 I , J 已正确说明并赋值)元素值的正确 引用为 _. A)*(*(a+I)+J) B)(a+I)j C)*(a+I+j) D)*(a+I)+j (9) 若有定义: i
8、nt a23; 则对 a 数组的第 i 行第 j 列(假设 i , j 已正确说明并赋值)元素地址的正确 引用为 _. A)*(ai+j) B)(a+i) C)*(a+j) E)ai+j (10)若有以下定义和语句,则对a 数组元素地址的正确引用为_. Int a23,(*p)3 P=a; A)*(p+2) B)p2 C)p1+1 D)(p+1)+2 第十章结构体与共用体 (1) 以下对结构体类型变量的定义中不正确的是_. A)#define STUDENT struct student STUDENT int num; float age; std1; B)struct student in
9、t num; float age; std1; C)struct int num; float age; 专业知识分享 WORD 格式整理 std1; D)struct int num; float age; student; struct student std1; (2)设有以下语句 (3)struct stu int a; float b; stutype; 则下面叙述正确的是_. A)struct 是结构体类型的关键字 B)struct stu 是用户定义的结构体类型 C)stutype 是用户定义的结构体类型名 D)a 和 b 都是结构体成员名 (4)设有以下定义: struct s
10、k int n; float x; data,*p; 若要使 p 指向 data 中的 n 域,正确的赋值语句是_ A)p= B)*p=data.n; C)p=(struct sk *) D)p=(struct sk *) data.n; (5)设有以下语句: struct st int n; struct st *next; static struct st a3=5, p= 则以下表达式的值为6 的是 _. A) p+-n B) p-n+ C)(*p).n+ D) +p-n 专业知识分享 WORD 格式整理 第十一章位运算 (1) 以下运算符中优先级最低的是优先级最高的是。 A ) pri
11、ntf(“ x=%d y=%d *sum*=%dn” ,x,y,x+y); printf(“ 10 squared is :%dn” ,10*10); ( 2)以下程序的输出结果是()。 #include main() 专业知识分享 WORD 格式整理 int a=325;double x=3.1415926; printf(“ a=%+06d x=%+en” ,a,x,); (3)假设变量a 和 b 均为整型,以下语句可以下借助任何变量把a、 b 中的值进行交换。请填空。 a+=();b=a-();a-=(); (4)设 x,y 和 z 都是 int 型变量, m 为 long 型变量,则在
12、 16 位微型机上执行下面的赋值语句后, x 值为 ( ), y 值为( ), z 值为()。 y=(x=32767,x=-1); z=m=0xFFFF (5)若 x 为 int 型变量,则执行以下语句后x 的值是() x=7; x+=x-=x+x; 第四章选择结构程序设计 ( 1)当 a=3,b=2,c=1 时,表达式f=abc 的值是()。 ( 2)在 C 语言中表示逻辑“真”值用()。 ( 3)设 x,y,z 均为 int 型变量,请写出描述“x 或 y 中有一个小于z”的表达式() . ( 4)当 m=2,n=1,a=1,b=2,c=3 时,执行完d=(m=a!=b) n=263; D
13、o k*=n%10 ;n/=10while(n); (2) 下面程序段中循环体的执行次数是()。 A =10; B=0; Do b+=2;a-=2+b;while(a=0); (3) 下面程序段的运行结果是()。 X=2 Do printf( “ * ” ); x-;while (! x= =0); (4) 下面程序段的运行结果是()。 I=1; a=0; s=1; Do a=a+s*i;s=-s;i+; while(imax) (); else if (personi.ageb/n.a*+pn-b的值是(),表达式(*pn).a+pn-f的值是 ()。 (4)以下程序的功能是计算并打印复数的
14、差。请在()内填入正确的内容。 Struct comp float re; float im; struct comp*m(x,y) struct comp *x, *y; (); z=(struct comp *)malloc(sizeof(struct comp); z-re=x-re-y-re; z-im=x-im-y-im; return( () ); main() struct comp*t; struct xomp a,b; a.re=1;a.im=2; b.re=3;b.im=4; t=m(); printf(“ z.re=%f, z.im=%f-re,t”-im);,t (5)
15、以下程序的运行结果是() struct ks int a; int *b; s4,*p; 专业知识分享 WORD 格式整理 main() int n=1, i; printf( n“” ); for(i=0; ia, (p+)-a); 第十一章位运算 (1) 在语言中, while(!x!=0) s+=+x; printf( “ %d” ,s); 则运行该程序段后输出为: 0 ()for 循环只能应用于循环次数已经确定的情况。 ()goto 语句只能用于退出多层循环。 ()switch 语句中不能出现 continue 语句。 ()只能用 continue 语句终止本次循环。 第六章数组 ()
16、两个字符串中所包含的字符个数相同时,才能比较字符串。 ()字符数组可以存放字符串。 ()不能用关系运算符对字符数组中的字符串进行比较。 ()如果定义了一个指向数组的指针,则该指针可以相当于数组名使用。 ()如果没有给一个整型数组的元素赋初值,则其元素的缺省初值全部为0。 第七章函数 ()C 语言中,用户若需调用标准库函数,在调用前必须重新定义。 ()C 语言中不允许用户重新定义标准库函数。 ()在 C 程序中,函数的定义和调用都不允许嵌套。 ()如果用数组名作为函数调用的实际参数,则传递给形参的是数组的首地址。 ()形式能参数也是一种局部变量。 专业知识分享 WORD 格式整理 第八章编译预处
17、理命令 ()预处理命令行都必须以 #号开始。 ()宏替换不占用运行时间,只占编译时间。 ()C 程序在执行过程中对预处理命令进行处理。 ()宏名必须用大写字母表示。 ()在文件包含预处理命令的使用形式中,当include 后的文件名用 mid,p-end, p-ave); (2)enum money fen1=1,fen2=2,fen5,jiao1=10,jiao2=20, jiao5=50,yuan1=100,yuan2=200,yuan5=500, yuan10=1000,yuan50=5000,yuan100=10000; 第十一章位运算 (1)main() unsigned right
18、rot (unsigned a, int n); unsigned int m ,b ; 专业知识分享 WORD 格式整理 int n; printf(“ enter m and n:” ); scanf (“ %x, %d” , printf(“ m=%x,n=%d ” ,m,n); b=rightror (m,n); printf(“ b=%xn ” ,b); unsigned rightror (unsigned a,int n) int rb; while (n0) rb =(a a=a | rb; return(a); (2) main() unsigned x ; int n1,n
19、2; printf (请输“入一个八进制数x: ” ); scanf (“ %o” , printf(请“输入起始位n1, 结束位 n2 :“ ); scanf ( %d,%d “ ” , printf(“ %o” ,getbits(x-1 ,n12); getbits(value,n1n2) unsigned value ; int n1,n2; unsigned z; z=(zn1) return(z); 第十二章文件 专业知识分享 WORD 格式整理 (1)#include “ stdio.h ” main() FILE *fp; char str 100,filename10; int i=0; if (fp=fopen (“ upper.txt” , ” w” )= =NULL) printf(“ can not open” file); exit(0); printf(“ Enter a string ” : ); gets(str); while (str i!= ! ) if (stri= a fclose(fp); 专业知识分享
链接地址:https://www.31doc.com/p-5294689.html