《C语言程序设计题库(共12页).doc》由会员分享,可在线阅读,更多相关《C语言程序设计题库(共12页).doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上一、选择题(每题1分,共20分)1.C语言程序从main()函数开始执行,所以这个函数要写在( D )。 A程序文件的开始 B程序文件的最后C它所调用的函数的前面 D程序文件的任何位置2.下列方法中错误的是( D )。 A主函数可以分为两个部分:主函数说明部分和主函数体。B主函数可以调用任何非主函数的其它函数。C任何非主函数可以调用其它任何非主函数。D程序可以从任何非主函数开始执行。3.下列正确的标识符是( C )。A-a1 Bai Ca2_i Dint t4.C语言中的简单数据类型包括( D )。A整型、实型、逻辑型 B整型、实型、逻辑型、字符型C整型、字符型、逻辑
2、型 D整型、实型、字符型5.下列可以正确表示字符型常量的是( A )。At B”a” C”n” D2976.在C语言中,字符型数据所占的内存空间是( C )。 A2个字节 B4字节 C1字节 D由用户自定义7.若int类型数据占2个字节,则unsigned int类型数据的取值范围是( B )。A0255 B065535 C-3276832767 D-2562558.若有以下类型说明语句:char a;int b; float c; double d; 则表达式a*b+d-c的结果类型为( D )。 Afloat Bchar Cint Ddouble9.下列正确的预编译命令是( D )。Ade
3、fine PI 3.14159B#define P(a,b)=strcpy(a,b)C#define stdio.hD#define PI 3.1415910.为表示逻辑表达式79X79 )&( X79 )!=( X90 )C79X79 )|( X0&b&c0”的值是( A )。A1 B.0 C-1 D出错12.字符串 “ABCD”在内存占用的字节数是( D )。A4 B6 C1 D513.若有“int a=1,x=1;”,则循环语句“while(a10) x+; a+;”的循环执行( A )。A无限次 B不确定次C10次D9次14.有以下程序段int k=0while(k)k+;则while
4、循环体执行的次数是( C )。A无限次B有语法错,不能执行C一次也不执行D执行1次15.已知:int a10; 则对a数组元素的正确引用是( D )。Aa10 Ba3.5 Ca(5) Da016.变量的指针,其含义是指该变量的( B )。A. 值 B. 地址 C. 名 D.一个标志17.下列说法中错误的是( C )。A构成数组的所有元素的数据类型必须是相同的B用指针法引用数组元素允许数组元素的下标越界C一维数组元素的下标依次是1、2、3D定义数组时的长度可以是整型常量表达式18.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为( B )。A. 由系统选择 B. 单向值传递 C.
5、由用户指定传递方式 D. 地址传递19.在C语言程序中,有关函数的定义正确的是( B )。A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用均不可以嵌套D函数的定义和函数的均可以嵌套20.若有以下说明语句: struct date int year; int month; int day; birthday; 则下面的叙述不正确的是( C )。Astruct是声明结构体类型时用的关键字 Bstruct date 是用户定义的结构体类型名Cbirthday是用户定义的结构体类型名 Dyear,day 都是结构体成员名一、单项选择题(每
6、题1分,共20分)1.下列说法错误的是( B )。A. C程序运行步骤是编辑、编译、连接、执行。B. C语言的变量名必须用小写,常量用大写。C. C语言的三种基本结构是顺序、选择、循环。 D. C程序一定由函数构成的。2.下列C语言用户标识符中合法的是( B )。 A3ax Bx Ccase D-e2 3.在下列表达式中,属于字符型常量的是( B )。 AA Ba CA Db4.若有以下类型说明语句:char w;int x;float y;double z;则表达式(int)(x+y-z*w)的结果为( C )类型。 Afloat Bchar Cint Ddouble5.在C语言程序中,表达
7、式8/5的结果是( B )。 A1.6 B1 C3 D06.设a为整型变量,则不能正确表达数学关系10a15的C语言表达式是( A )。A10a10&a15 D)!(a=15)7.若int i=10; 执行下列程序后,变量i的正确结果是( A )。 switch ( i ) case 9: i+=1; case 10: i+=1; case 11: i+=1; default : i+=1; A13 B12 C11 D108.下列循环语句中有语法错误的是( D )。 Awhile(x=y) 5; Bwhile(0);Cfor(i=0;i3;);Dfor(;i3);9.若有以下数组说明,则数值最
8、大的和最小的元素下标分别是( B )。int a12=1,2,3,4,5,6,7,8,9,10,11,12; A1,12 B0,11 C1,11 D0,1210.假定int类型变量占用两个字节,其有定义:int x10=0,2,4;,则数组x在内存中所占字节数是( D )。 A3 B6 C10 D2011.以下对C语言函数的有关描述中,正确的是( A )。A.在C语言程序中,调用函数时,如函数参数是简单变量,则只能把实参的值传递给形参,形参的值不能传送给实参B.C语言函数既可以嵌套定义又可递归调用C.C语言函数必须有返回值,否则不能使用函数D.在C语言程序中有调用关系的所有函数必须放在同一个源
9、程序文件中12.以下叙述中正确的是( A )。 A.构成C程序的基本单位是函数 B.可以在一个函数中定义另一个函数 C. main()函数必须放在其它函数之前 D.所有被调用的函数一定要在调用之前进行定义13.已知:(设整型2字节,字符型1字节,浮点型4字节)struct int i;char c;float a;test;则sizeof(test)的值是( D )。 A.4 B.5 C.6 D.714.若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是( A )。A.pb=&x B.pb=x C.*pb=&x D.*pb=*x15.设有数组定义: char array =ab
10、cd; 则数组array所占的空间为( B )。 A.4个字节 B.5个字节 C.6个字节 D.7个字节16.下述对C语言中字符数组的描述错误的是( C )。 A.字符数组可以存放字符串 B.字符数组中的字符串可以整体输入和输出 C.可在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D.可在对字符数组定义时通过赋值运算符“=”对字符数组整体初始化17.下列命令或语句中,错误的是( C )。A.#define PI 3.14159 B.#include C.#define PI 3.14159; D.for(;) if(1) break;18.给出以下定义:char x =abcdefg;c
11、har y =a,b,c,d,e,f,g;则正确的叙述为( C )。 A.数组x和数组y等价 B.数组x和数组y的长度相同 C.数组x的长度大于数组y的长度 D.数组x的长度小于数组y的长度19.判断两字符串s1,s2是否相等,应使用( D )。 A.if(s1=s2) B.if(s1=s2) C.if(strcpy(s1,s2) D.if(strcmp(s1,s2)=0)20.以下printf语句的输出结果为( B )。printf(“%dn”,strlen(“school”);A.7 B.6 C.存在语法错误 D.不定值一、单项选择题(每题1分,共20分)1.C语言程序是由( C )构成的
12、。A)一些可执行语言 B)main函数 C)函数 D)包含文件中的第一个函数2.C语言程序从( C )开始执行。A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数3.不是C语言提供的合法关键字是( B )。A) switchB) cherC) caseD) default4.请选出可用作C语言用户标识符的一组标识符( B )。 A) void B) a3_b3 C) For D) 2a define _123 -abc DO WORD sum Case sizeof5.下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A)
13、 print _3d db8 aBc B) Iam one_half start$it 3pai C) str_1 Cpp pow while D) Pxq My-book line# His.age 6.已定义c为字符型变量,则下列语句中正确的是 ( C )。 A)c=97 B)c=97 C)c=a D)c=a 7.已知ch是字符型变量,不正确的赋值语句是( A )。 A) ch=a+b ; B) ch= 0 ; C) ch= 7 ; D) ch=;8.在C语言中,认为( D )为逻辑真 。A) true B)大于0的数 C)非0整数 D)非0的数9.表示关系x=y=z的c语言表达式为( A
14、 )。 A) (x=y)&(y=z) B) (x=y)AND(y=z) C) (x=y=z) D) (x=y)&(y=10 or a=0|a=10 &a=10abc的值是 0 。13、以下语句char str10=China; printf(%d,strlen(str)的输出结果是 5 。14、浮点型float变量占4个字节内存,double类型占 8 字节内存。15、已知:int b=5,*p=&b;并且b的地址为4000,则“printf(%d,%d,p,*p);”的输出结果是 4000,5 。16、表达式18 & 53 的值是 1 。17、设C语言中int类型数据占4个字节,则long类
15、型数据占 4 个字节, short类型数据占 2 个字节,char类型数据占 1 个字节。18、设a = 3,则执行+a后,a的值为 4 。三、填空题(每空1分,共20分)1、在C语言程序中,符号常量的定义要使用 #define 预处理命令。2、逻辑运算符!是 自右至左 结合性。3、引用C语言标准库函数,一般要用 #include 预处理命令将其头文件包含进来。4、 strcat (字符数组名1,字符数组名2)把字符数组2中的字符串连接到字符数组1中字符串的后面,并删去字符串1后的串标志“0”。5、语言允许函数值类型缺省定义,此时该函数值隐含的类型是 int 。6、数组在内存中占用一段连续的存
16、储空间,它的首地址由 数组名 表示7、若有定义:int a23=2,4,6,8,10,12;则*(&a00+2*2+1)的值是 12 。8、在一个C源程序中,单行注释的分界符为 / 。 9、在C语言程序中,转义字符“n”的功能是 换行 。10、当a=5,b=4,c=2时,表达式ab!=c的值是 1 。12、在C语言程序中,用关键字 char 定义字符型变量,用 double 定义双精度浮点型变量。13若m是一个三位数,则百位数字为 m/100 ,十位数为 (m%100-m%10)/10 ,个位数为 m%10 。14、执行下列语句:float a; int b; a = b =24.5/5; p
17、rintf(“%f”, a);printf(“%d”,b); 输出结果是 4. 和 4 。15、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n+后x的值为 10 ,n的值为 6 。1、若a=6,b=4,c=2,则表达式!(a-b)+c-1&b+c/2的值是 1 。2、如果一函数只允许同一程序文件中的函数调用,则应在该函数定义前加上 static 修饰。3、已有定义int x=0,y=0;,则计算表达式(x+=2,y=x+3/2,y+5) 后, 表达式的值是 8 。4、对数组元素的引用方法有下标法和 指针法 两种。5、要使指针变量与变量之间建立联系,可以用运算符 * 来定义
18、一个指针变量6、设int a10,*p=a;则对a3的引用可以是p3或 *(p+3) 。7、当a=3,b=2,c=1时,表达式f=abc的值是 0 。8、在C语言程序中,用关键字 float 定义单精度实型变量。9、若m是一个三位数,则十位数字为 m/10-m/100*10 。10、int a=24; printf(%x , a );输出结果是 18 。11、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式 xz|y1)+2,则x的值为 3 。17、已知 i=5,写出语句 i*=i+1; 执行后整型变量 i 的值是 30 。18、C语言中,二维数组在内存中的存放方式为按
19、 行 优先存放。19、数组char a2中的所有元素是a1和 a0 。20、求字符串长度的库函数是 strlen (只写函数名即可)。四、读程序题(每题10分,共30分)1、下面程序段的运行结果是什么。int i=1,a=0,s=1;doa=a+s*i; s=-s; i+; while (i=10);printf(a=%d,a);解答:a=-52、观察下列程序(一)和(二)有什么相同的地方,请写出来。(10分)(一)#include void main( ) printf(This is a C program!n);(二)#include void main( ) int a,b,sum;
20、a=2; b=3; sum=a+b; printf(sum is %dn, sum);答案:#include (3分)void main( )(3分)(2分)。(2分)3、下面程序的运行结果是什么。#includemain() int i,x,y; i=x=y=0;do +i; if(i%2!=0) x=x+i;i+; y=y+i+; while (i=7); printf(x=%d,y=%dn,x,y);解答:x=1,y=20五、编程题(20分)编写一个函数,输出如下的图形* very good*答案:#include (3分)void main( )(3分) (2分)printf(*n);(3分)printf( very good n);(4分)printf(*n);(3分)(2分)专心-专注-专业