考卷:c语言 试卷3
C语言考试试题及答案

《C语言》考卷一单选题(每题2分,共25题,共50分)1.要把高级语言编写的源程序转换为目标程序,需要使用( )[2分][2分]A.编辑程序B.驱动程序C.诊断程序D.编译程序参考答案:D2.以下叙述中正确的是( )[2分][2分]A.C语言程序将从源程序中第一个函数开始执行B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D.main可作为用户标识符,用以命名任意一个函数作为主函数参考答案:C3.若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是( )[2分][2分] int a int a=66 = 65 + 1.6 =66.6A.a的值是字符BB.a的值是浮点型C.不允许字符型和浮点型相加D.a的值是字符‘A’的ASCII值加上2参考答案:Aint a = ‘A’;char b = 65;4.若变量已正确定义并赋值,以下符合C语言语法的表达式是( )[2分][2分]A.a:=b+1B.a=b=c+2C.18.5%3D.a=a+7=c+b参考答案:B5.下列可用于C语言用户标识符的一组是( )[2分][2分]A.void, define, WORDB.a3_b3, _123,carC.For, -abc, IF CaseD.2a, DO, sizeof参考答案:B6.若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )[2分][2分]A.scanf("%d",a,b,c);B.scanf("%d%d%d",a,b,c);C.scanf("%d",p); //scanf(“%d”,&c);D.scanf("%d",&p);参考答案:C7.以下关于long、int和short类型数据占用内存大小的叙述中正确的是( )[2分][2分]A.均占4个字节B.根据数据的大小来决定所占内存的字节数 // long a = 1 int b = 1000000C.由用户自己定义D.由C语言编译系统决定参考答案:D8.若变量已正确定义,有以下程序段i=0;do{printf("%d,",i); //0}while(i++); //while(0) i=1printf("%d\n",i); //1其输出结果是( )[2分][2分]A.0,0B.0,1C.1,1D.程序进入无限循环参考答案:B9.有以下计算公式则不能够正确计算上述公式的程序段是( )(提示:库函数sqrt()用来求一个数的平方根)[2分][2分]A.if(x>=0) y=sqrt(x); else y=sqrt(-x); //if/else配合使用B.y=sqrt(x) if(x<0) y=sqrt(-x);C.if(x>=0)y=sqrt(x); if(x<0)y=sqrt(-x); //if单独使用D.y=sqrt(x>=0?x:-x);参考答案:B10.设有条件表达式:EXP ? i++ : j--;则以下表达式与之完全等价的是( )[2分][2分]A.(EXP==0)? i++ : j--;B.(EXP!=0)? i++ : j--;C.(EXP==1)? i++ : j--;D.(EXP!=1)? i++ : j--;参考答案:B11.有以下程序#include<stdio.h>int main(void){int y=9;for( ; y>0; y--){if(y%3 == 0)printf("%d",--y);}}程序的运行结果是( )[2分][2分]A.741B.963C.852D.875421参考答案:C12.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( )[2分][2分]A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体存储单元 //局部变量C.同名的实参和形参占同一存储单元D.函数的形参和实参分别占用不同的存储单元参考答案:D13.已知字符‘A’的ASCⅡ代码值是65,字符变量c1的值是‘A’,c2的值是‘D’。
C语言试卷_含答案

C语言试卷姓名:_________________ 分数:_______________一、选择题((1)~(10)每题3分,共30分)1.要调用数学函数时,在#include命令行中应包含___C___。
A、”stdio.h”B、”string.h”C、”math.h”D、”ctype.h”2. C 语言程序中可以对程序进行注释,注释部分必须用符号___C___括起来。
A.‘{‘ 和’}’ B.‘[‘和’]’ C.“/*”和”*/” D.“*/”和”/*”3.表达式strcmp(“box”, “boss”) 的值是一个___A___。
A、正数B、负数C、 0D、不确定的数4.判断i和j至少有一个值为非0的表达式是___C___。
A、 i!=0 && j!=0B、i*j!=0C、i!=0 || j!=0D、i&&j5.若以下选项中的变量已正确定义,则正确的赋值语句是___C___A. x1=26.8%3B. 1+2=x2C. x3=0x12D. x4=1+2=3;6.switch语句___A___。
A. 都可以用if-else if结构实现B. 都不可以用if-else if结构实现C. 有的可以用if-else if结构实现D. 大部分不可以用if-else if结构实现7.设有以下定义int a = 0;double b = 1.25;char c = ’A’;#define d 2则下面语句中错误的是___D___A. a++;B. b++C. c++;D. d++;8.设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是___A___A. scanf(“%d”,pa);B. scanf(“%d”,a);C. scanf(“%d”,&pa);D. scanf(“%d”,*pa);9.10. 若变量已正确定义并且指针p已经指向某个变量x,则(*p)++相当于___B___。
C语言测试题及答案

C语言测试题及答案一、单选题(每题3分)1、下列语言不属于计算机语言的是()A、机器语言B 、汇编语言C 、高级语言D、低级语言(正确答案)2、下列不属于C 语言的特点的是()A、是一种结构化语言B、表现能力和处理能力较差(正确答案)C 、效率高,移植性强D、可直接访问内存物理地址3、C 语言程序能够在不同的操作系统下运行,这说明其具有良好的()A 、兼容性B、操作性C 、适应性D、移植性(正确答案)4、下列关于C语言的说法,正确的是()A、C语言比其他语言高级B 、C语言源程序可以直接被计算机执行C 、C语言出现最晚,各方面优于其他语言D 、C语言是用接近人们习惯的自然语言和数学语言作为语言的表达形式(正确答案)5、以下不是C 语言中的关键字的是()A 、elseB 、shortC、true(正确答案)D 、void6、C 程序经过编译、链接后生成的可执行文件的扩展名是()A 、.cB 、.objC、.exe(正确答案)D 、.syS7、把高级语言编写的源程序转换为目标程序,需要使用()A、驱动程序B、编辑程序C、诊断程序D、编译程序(正确答案)8、C 语言程序的执行,总是起始于()A、程序中的第一条可执行语句B、程序中的第一个函数C、main()函数(正确答案)D、包含文件中的第一个函数9、以下叙述中,正确的是()A、语句是构成(正确答案)C程序的基本单位B 、一个函数可以没有参数C 、main() 函数必须放在其他函数之前D、所有被调用的函数一定要在调用之前进行定义10、构成C语言程序的基本单位是()A 、语句B、函数(正确答案)C 、过程D 、复合语句11、计算机能直接识别的语言是()A 、机器语言(正确答案)B 、汇编语言C 、C语言D 、高级语言12、下列说法错误的是()A 、C程序中的每条语句都用分号作为结束符B 、C程序中的每条命令都用分号作为结束符(正确答案)C、C 程序中的变量遵循先定义,后使用的原则D 、C程序一般以小写字母书写,并且区分大小写13、下面有关C程序的说法中,正确的是()A 、C程序由符号构成B、C 程序由标识符构成C 、C程序由函数构成(正确答案)D 、C程序由C语句构成14、C语言中所有的关键字必须()A、小写(正确答案)B、大写C 、大小写均可D 、C语言中没有保留字15、在结构化程序中应尽量避免使用的语句是()A 、whileB 、do……whileC 、forD 、goto(正确答案)16、下列是C 语言的关键字是()A 、bacB 、IntC、char(正确答案)D 、Printf17、在每一个C程序中都必须包含的函数是()A 、nameB、main(正确答案)C 、MainD 、function18、以下叙述中,正确的是()A、花括号{}只能作为函数体的定界符B 、分号是C语句之间的分隔符,不是语句的一部分C 、C程序中注释部分可以出现在程序中任意合适的地方(正确答案)D、构成C程序的基本单位是函数,所有函数的命名都可以由用户命名19、以下选项中不属于C语言的数据类型的是()A 、signed short intB 、unsigned long intC 、unsigned intD 、long short(正确答案)20、下列能实现换行功能的格式符为()A 、”\t’B、’\n’(正确答案)C 、’\a'D 、’\k’21、下列不正确的转义字符是()A 、’\W”B、\”C 、’\0'D、’074’(正确答案)22、下列正确的字符串常量是()A、”W”(正确答案)B 、'abc’C 、Olympic GamesD 、’\n'23、在C 语言中,数字029是一个()A、八进制数B、十六进制数C、十进制数D、非法数(正确答案)24、下列的变量说明中,正确的是()A 、int i=j=1;B 、double float f,d;C、double a; (正确答案)D 、char:I;25、下列是合法的用户定义标识符是()A、908B 、putcharC、P_S (正确答案)D 、double26、以下C 语言标识符合法的是()A 、-5XB、name_1 (正确答案)C 、bow-1D 、#2327、假如给变量a和b都定义为浮点型,则下列正确的定义是()A 、int a;b;B 、float a,int b;C 、float a,b; (正确答案)D 、float a;b;28、已知int a=2;,则表达式(a+’E'-’A’)*3的值是 ( )A 、8B 、12C、18(正确答案)D 、2029、下列程序中不正确的语句是()A 、main(B 、int a,b,c:C、a=22:b=33 (正确答案)D 、{c=a+c;}30、下列各项中非法的赋值语句是()A、j++:B 、++(i+3 ); (正确答案)C 、x=j>0;D、n=(i=2,i++):二、判断题(每题1分)1、计算机可以直接识别C 语言程序语句。
C语言测试卷库(完整版)

C语言测试卷库(完整版)C语言试题库一、单项选择第一章C语言概述(1)一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束。
B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
C、本程序的MAIN函数开始,到本程序的最后一个函数结束。
D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。
(2)以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面。
B、C程序的每行中只能写一条语句。
C、C语言本身没有输入输出语句。
D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
(3)C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。
B、必须在系统调用的库函数的后面C、可以在任意位置。
D、必须在最后面(4)一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5)以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=(i=4, j=16, k=32)A、4B、16C、32D、52(2)下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseE、i f, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0, _AC、b-a, goto, intD、_123, temp, INT(4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5)已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章简单C程序设计(1)putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%lf”,&x,&y,&z);C、scanf(“%x%*d%o”,&x,&y,&z);D、scanf(“%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车>时,以下程序的输出结果为main(){int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值(4)以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、int a, b, c=5;C、a=5, b=5, c=5;D、a=b=c=5;(5)若有以下定义,则正确的赋值语句是int a,b; float x;A、a=1, b=2;B、b++;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)││(x<=10) ││(x.>=200) ││(x<=210)C、(x>=1) &&(x<=10) ││(x.>=200) &&(x<=210)D、(x>=1)││(x<=10)&& (x.>=200) ││(x<=210)(2)以下程序的运行结果是#include “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A、6,1B、2,1C、6,0D、2,0(3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *\n”);else printf(“$ $ $\n”);}以上程序。
c语言历年真题及答案

c语言历年真题及答案【篇一:c语言试题及答案】t>1. 单项选择题(1) c 语言是在 b 语言的基础上产生的。
a. ab. bc. dd. e(2) 在 c 语言中,每个语句必须以 d 结束。
a. 回车符b. 冒号c. 逗号d. 分号(3) 标识符和关键字间,要用c 隔开。
a. 回车符b. 冒号c. 空格d. 分号(4) 用 c 语言编写的源文件经过编译,若没有产生编译错误,则系统将( b )。
a. 生成可执行目标文件b. 生成目标文件c. 输出运行结果d.自动保存源文件(5) 下列说法中正确的是( b )。
a. 由于 c 源程序是高级语言程序,因此一定要在 tc 软件中输入b. 由 c 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入c. 由于c 程序是高级语言程序,因此输入后即可执行d. 由于 c 程序是高级语言程序,因此它由命令组成(6) 下列说法中正确的是( a )。
a. c 语言程序由主函数和 0 个或多个函数组成b. c 语言程序由主程序和子程序组成c. c 语言程序由子程序组成d. c 语言程序由过程组成(7) 下列说法中错误的是( d )。
a. 主函数可以分为两个部分:主函数说明部分和主函数体b. 主函数可以调用任何非主函数的其他函数c. 任何非主函数可以调用其他任何非主函数d. 程序可以从任何非主函数开始执行2. 填空题(1) c 语言只有 32个关键字和 9 种控制语句。
(2) c 语言是一种“ 中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。
(3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行c 语言程序。
(4) 在 c 语言程序中允许出现的字符集是 ascii码字符集。
(5) c 语言的程序中有特殊含义的英语单词称为保留字。
(6) c 语言标识符的长度是前8位有效。
(7) c 语言中,标识符的定义规则是以字母或下划线为开头。
c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。
A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。
A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。
A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。
A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。
C语言综合试卷三答案

C语⾔综合试卷三答案综合测试三⼀、单项选择题(每题2分,共15题,共30分)(以下各题中,有四个选项A、B、C、D,其中只有⼀个选项是正确的,请将正确的选项填⼊括号中)01. 有定义语句:int b;char c[10],则正确的输⼊语句是()A. scanf(“%d%c”,&b,&c);B. scanf(“%d%c”,&b,c);C. scanf(“%d%s”,&b,c);D. scanf(“%d%s”,&b,&c);02.不属于C语⾔保留字的是( )A. elseB. returnC. printD. while03.函数rewind( )的功能是将⽂件内部指针()。
A. 重置于⽂件⾸B.重置于⽂件末C. 重置于⽂件中部D.重置于当前位置04.从键盘输⼊⼀串字符串的函数是()A.getchar B.putchar C.gets D.puts05. C语⾔中,⽂件的操作有以下四步:①打开⽂件②定义⽂件指针③关闭⽂件④对⽂件进⾏读写操作正确的操作顺序是()A. ①②③④B. ②①④③C. ②①③④D. ①②④③06.设int j=12,请问执⾏j+=j*j后j的值为( )A.144B.13 C.28 D.15607.有命令:FILE *fp; 以追加⽅式打开⽂件d:\a.txt的正确语句是( )A. fp=fopen("d:\a.txt","r");B. fp=fopen("d:\\a.txt","w");C. fp=fopen("d:\a.txt","a");D. fp=fopen("d:\\a.txt","a");08.对数组元素进⾏初始化的正确作法是( )A.int a[3]={1,2,3,4};B.int a[]={1,2,3};C.int a[3]=(1,2,3);D.int a[3]="key";09.设有定义int a=3,b,*p=&a ; 则下列语句中使b不为3的语句是( ).A.b=*&aB. b=*p;C. b=a;D. b=*a;10.不属于C基本算术运算符的是()A.*B./C.^D. %11.设字符变量ch的值为`b`,则函数putchar(ch-32)的输出是( ).A.BB. 66C.bD. 9612.在C语⾔中,下列()循环为⾮法的.A.until语句构成的循环循环B.for语句构成的循环C. while语句构成的循环D. do-while语句构成的循环13.C语⾔中,整型常数不包括的整数形式是()。
3套 《C语言程序设计》试卷+参考答案

一、选择填空:(每题1.5分,共15分)1.以下可以正确表示字符型常数的是。
(A) “a”(B) ‘297’ (C) ‘\t’ (D) “\n”2. typedef struct{ char name[10];int age;char interests[20];} student;以上语句中 student 是:(A)结构体变量,有存储空间 (B)结构体数据类型,无存储空间(C)结构体变量,无存储空间 (D)结构体数据类型,有存储空间3.函数:void f(void){int i = 12, j;for(j=0; j<20; j++)i++;}当f执行完退出后,i的值为_____ _____(A) 12 (B) 32 (C) 29 (D) 无定义4.若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是(A)*p+6 (B)*(p+6) (C)*p+=5(D)p+55.以下代码执行后,result的值为:#define FIVE 2+3result = FIVE * FIVE(A) 11 (B) 13 (C) 25 (D)106.已知函数定义的形式如下:struct data *f(void){……}则函数f:(A) 没有参数,返回值是一个结构体(B)有一个参数void, 返回值是一个结构体(C)没有参数,返回值是一个结构体指针(D)有一个参数void, 返回值是一个结构体指针7.下列说法中,不正确的是_ ____(A)函数中可以没有return语句。
(B)所有的函数都不能嵌套定义,但可以相互调用。
(C)函数的实参应与其对应的形式参数类型一致。
(D)函数可以不加函数返回值类型标识符。
8.一个C程序的执行是。
(A)从本程序的main函数开始,到main函数结束(B)从本程序文件的第一个函数开始,到本程序文件最后一个函数结束(C)从本程序的main函数开始,到本程序文件的最后一个函数结束(D)从本程序文件的第一个函数开始,到本程序的main函数结束9.在C语言的算术运算符中只能用于整型数的运算符是(A)* (B)/ (C)++ (D)%10 在下列选项中,没有构成死循环的程序段是(A)int i=100;while (1) {i=i%100+1;if(i>=100) break;}(B)for(;;);(C)int k=1000;do{++k;} while (k>=1000);(D)int s=36while(s); --s;二、写出下列程序的运行结果:(共35分)1.(8分)int funa(int *a) { a[0] ++; }int funb(int b[]) { b[1] += 5; }main(){int a[5] = {2,3,4,5,6};int b[5] = {2,3,4,5,6};int *p, i;p = &a[0];(*p)++;funb(p);for(i = 0; i <5; i++)printf("%d,",a[i]);p = &b[1];funa(p);funb(p);for(i = 0; i < 5; i++)printf("%d,",b[i]);}运行结果:2、(6分)main(){char a[]="programming", b[]="language";char *p1,*p2;int i;p1=a; p2=b;for(i=0; *(p1+i)!=’\0’&&*(p2+i)!=’\0’;i++)if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i)); }运行结果是:3、(8分)int f(int n){if (n==1){return 1;}else{return 2 * f(n/2);}}运行结果: f(20)的值是多少?4、(6分)void change (int *a, int *b){int x =* a;*a = *b; *b = x;printf(“%d %d “, *a, *b)';}void main(){int x=10,y=25;change (&x, &y);printf(“%d %d “, x, y)';}运行结果:5、(5分)已知字母A的ASCII码为十进制的65,下面程序的输出是void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}答案三、程序填空(每空2分,共38分)1、下面是一个求数组元素之和的程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖北汽车工业学院《C语言程序设计》考试试卷3一、填空题(每小空1分,共20分)1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。
2.一个C程序中必须有main函数,无论该函数在整个程序中的位置如何,C程序总是从该函数开始执行。
3.C语言中没有逻辑型数据,在给出逻辑运算结果时,以非0代表“真”,以0代表“假”。
4.为了避免嵌套的条件语句if-else的二义性,C语言规定else与其之前最近的if配对。
5.数组名作为参数传递给函数,作为实参的数组名被处理为该数组的首地址。
6.静态变量和外部变量的初始化是在编译阶段完成的,而自动变量的初始化是在程序执行时进行的。
7.C语言中构造类型数据有数组、结构体和共用体。
8.void的用途有三个:①说明返回值为空的函数;②在函数的参数表中写void,表示函数无参数;③说明void型指针,它是一个空指针,可被任何类型的指针赋值,也可以赋给任何类型的指针而不需强制转换。
9.C语言中可以用来实现循环的四种语句是while、do-while、for 、goto。
二、阅读填空(每小空2分,共26分)1.已知i=5,写出下列语句执行后整型变量i和a的值。
①a=i++;(a= 5 ) ②i+=012;(i= 15 ) ③i*=i+1;(i= 30 )④a=(i>5)?0:1;(a= 1 ) ⑤a= (a=i+1,a+2,a+3);(a= 9 )2.执行下列语句后,*(p+2)的值是‘\0’。
char s[3]=“ab”,*p;p=s;3.下列程序的功能是将字符串“Turbo C”纵向显示在屏幕上,请填空。
main( ){ char *p=“Turbo C”;for(;*p!=‘\0’;p++ )printf(“%c\n”,*p );}4.下列程序计算1到100的整数的累加和。
main(){ int i,___sum = 0____;for(i = 1; i <= 100; i ++__) sum+=i;printf(“sum=%d\n”,sum);}5.下列程序中maxmin()的作用是求整型数组a的最大元素和最小元素。
main(){ static x[3][3]={{1,2,3},{9,5,6},{-1,0,3}};int m1,m2;maxmin( 3, x, &m1, &m2 );printf(“max=%d,min=%d\n”,m1,m2);}maxmin(int n,int a[][3],int *max,int *min){ int i,j;*max=*min=a[0][0];for(i=0;i<n;i++)for(j=0;j<n;j++)if( *max < a[i][j] ) *max=a[i][j];else if( *min > a[i][j] ) *min=a[i][j];}三、单项选择题(每小题2分,共36分)下列形式的常数中,C程序不允许出现的是__A ___。
A)±123 B) .45 C) 25.6e-2 D) 4e32.下列运算符中,不属于关系运算符的是B。
A) < B) ! C) == D) >=3.以下对C语言函数的有关描述中,正确的是C。
A)函数必须有返回值,否则不能使用函数B)C函数既可以嵌套定义又可以递归调用C)在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参D)C程序中有调用关系的所有函数必须放在同一个源程序文件中4.以下叙述中不正确的是D。
A) 在不同的函数中可以使用相同名字的变量B) 函数中的形式参数是局部变量C) 在一个函数内定义的变量只在本函数范围内有效D) 在一个函数内的复合语句中定义的变量在本函数范围内有效5.给出以下定义:char x[ ]=“abcdefg”;char y[ ]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’};则正确的叙述为D。
A) 数组x和数组y的长度相同B) 数组x的长度大于数组y的长度C) 数组x和数组y等价D) 数组x的长度小于数组y的长度6.两个指针变量不可以_ C _____。
A)相减B)比较C)相加D)指向同一地址7.设有如下定义:int (*ptr)( );则以下叙述中正确的是D。
A)ptr是指向一维数组的指针变量B) ptr是指向int型数据的指针变量C) ptr是一个函数名,该函数的返回值是指向int型数据的指针D) ptr是指向函数的指针,该函数返回一个int型数据8.为了提高程序的运行速度,对于整型或指针可以使用A型的变量。
A) register B) auto C)static D)extern9.具有相同类型的指针变量p与数组array,不能进行的操作是C。
A) p=array B) *p=array[0] C) p=&array D) p=&array[ 0 ] 10.C语言中while与do-while语句的主要区别是D。
A)while的循环条件比do-while的循环控制条件体严格B)do-while允许从外部转到循环体内C)do-while 的循环体不能是复合语句D)do-while的循环体至少无条件执行一次11.以下函数调用语句中含有A个实参。
func((e1,e2),(e3,e4,e5));A)2 B)3 C)5 D)语法错误12.下列程序段中,功能与其它程序段不同的是B。
A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;) { p=1;p*=i;i++;}C)i=1;p=1;while(i<=5) { p*=i;i++;}D) i=1;p=1;do { p*=i;i++;} while(i<=5);13.设x和y均为int型变量,则语句x+=y;y=x-y;x-=y;的功能是D。
A)把x和y按从大到小排列B) 把x和y按从小到大排列C) 无确定结果D) 交换x和y中的值14.以下程序的运行结果为__ A ____。
main( ){ int n;for( n=1;n<10;n++) ;printf(“%d”,n);}A) 10 B) 123456789 C) 0123456789 D) 015.设有以下语句,则变量a B。
char a=‘\72’;A)包含3个字符 B) 包含1个字符 C) 包含2个字符 D)说明不合法语法16.以下程序执行后,a= C,b= A。
(与编译系统有关)main( ){ int a=10,b=20; int *pa=&a,*pb=&b, n;*pa=*(pb-1)+5; *(pa+1)=*pa-5;for( n=1;n<10;n++) ;printf(“a=%d,b=%d\n”,a,b);}A) 10 B)20 C)15 D) 2517.若从键盘输入B,以下程序的运行结果为D。
(结果不定,也可能为>=60.) main( ){ int grade;scanf(“%c”,&grade);switch(grade){ case ‘A’:printf(“>=85.”);case ‘B’:printf(“>=60.”);case ‘C’:printf(“<60.”);default: printf(“error.”);}}A) >=85. B) >=60. <60. error. C) >=60. D) error.18.以下程序的运行结果为___ C___。
main( ){ int a=1,b=2,c=3,d=4,e=5;printf(“%d”,func((a+b,b+c,c+a),(d,e)));}int func(int x,int y){ return x+y;}A)15 B)5 C)9 D) 函数调用出错四、写出下列程序的运行结果(每小题3分,共18分) 1. #define GZ 30main(){ int num,total,gz;gz=40;num=10;total=num*GZ;printf(“total=%d\n”,total); }运行结果:total=3002.#include <string.h>main(){ static char s1[50]={“some string*”};static char s2[ ]={“test*”};printf(“s2 length=%d\n”,strlen(s2));strcat(s1,s2);printf(“%s\n”,s1); }运行结果:s2 length=5some string*test*3. #define A 3#define B(a) ((A+1)*a)main(){ int x;x=3*(A+B(7));printf(“x=%d\n”,x);}运行结果:x=934. f1(int a){ int b=0;static int c=3;b+=1;c++;return(a+b+c);}main(){ int a=1,i;for(i=0;i<3;i++)printf(“%d,”,f1(a));}运行结果:6,7,8,5. main(){ int a,b,d=241; a=d/100%9; b=(-1)&&(-1);printf(“%d,%d\n”,a,b);}运行结果:2,16. #define TRUE 1#define FALSE 0#include <stdio.h>int chang(char *c,int s);main(){ int flag=TRUE; char ch;do { ch=getchar();flag=chang(&ch,flag);putchar(ch);} while(ch!=‘.’);}int chang(char *c,int s){ if(*c==‘’) return TRUE;else { if(s&&*c<‘z’&&*c>‘a’)*c+=‘A’-‘a’;return FALSE;}}若从键盘输入this is a test program.则运行结果为:This Is a Test Program.。