考卷: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、下面是一个求数组元素之和的程序。
C语言试卷及答案
C语言试卷及答案一、选择题(共10题,每题2分,共20分)1. 在C语言中,下列关键字中用于定义常量的是:A. ifB. constC. forD. switch2. 下列哪个运算符的优先级最高?A. ++B. +C. %D. /3. 在C语言中,用于判断两个值是否相等的运算符是:A. ==B. =C. !=D. >4. 下列哪个标识符是合法的?B. myVariableC. @nameD. while5. 下列循环结构中,只有在条件满足时才会执行的是:A. for循环B. do-while循环C. while循环D. switch语句6. 下列哪种数据类型不能存储小数?A. intB. floatC. doubleD. char7. 下列哪个头文件包含了输入输出函数的声明?A. <stdio.h>B. <stdlib.h>C. <math.h>8. 数组在内存中是以连续的存储单元存储的,其首地址对应数组名,以下哪个关键字不可用于定义数组大小?A. constB. staticC. externD. volatile9. C语言中,以下哪个库函数可以用于生成一个随机数?A. rand()B. sqrt()C. getchar()D. strcpy()10. 下列哪个运算符用于获取变量的地址?A. %B. *C. &D. #二、填空题(共5题,每题3分,共15分)1. C语言中,逻辑运算符"与"的符号是_______。
2. 在C语言中,printf函数的返回值是_______。
3. 下列循环结构中,无论条件是否成立,至少会执行一次的是_______。
4. 在C语言中,声明一个整型变量的关键字是_______。
5. C语言中,用于声明一个字符变量的关键字是_______。
三、编程题(共2题,共45分)1. 编写一个C语言程序,将用户输入的两个数进行交换,并输出交换后的结果。
C语言试卷含答案
C语言试卷含答案一、单选题(共10题,每题2分,共20分)1. 下列哪个关键字不属于C语言的关键字?A. ifB. floatC. breakD. while答案:B2. 在C语言中,下列运算符中优先级最高的是:A. +B. *C. =D. &答案:B3. 以下哪种循环结构在循环体执行前就对循环条件进行判断?A. for循环B. while循环C. do-while循环答案:C4. 以下哪个函数库是用来进行数学运算的?A. stdio.hB. string.hC. math.hD. ctype.h答案:C5. 下列哪个运算符是用来进行指针访问的?A. *B. &C. .D. :答案:C6. 以下哪种数据类型可以存储整数和小数?A. intB. floatC. char答案:B7. 下列哪个函数可用于将字符串转换为整数?A. atoi()B. itoa()C. atof()D. sprintf()答案:A8. 在C语言中,以下哪个关键字用于定义一个常量?A. constB. staticC. externD. volatile答案:A9. 以下哪种运算符是用来进行逻辑或操作的?A. &&B. ||C. !答案:B10. 下列哪个文件打开模式适用于读写模式?A. "r"B. "w"C. "a"D. "r+"答案:D二、填空题(共5题,每题4分,共20分)1. C语言中,sizeof运算符返回的是所指数据类型的__________。
答案:字节大小2. 下列语句中,会将字符串s2的内容复制到字符串s1中的是__________。
strcpy(s1, s2);答案:strcpy3. 在C语言中,字符串使用__________来表示。
答案:字符数组4. 在C语言中,__________是用于声明变量的关键字。
三级c语言机试题及答案
三级c语言机试题及答案三级C语言机试题及答案1. 以下哪个选项是C语言中正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释*/答案:A2. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 以下哪个选项是C语言中正确的字符串声明方式?A. char str[] = "Hello World";B. char str[] = 'Hello World';C. char str[] = {"Hello World"};D. char str[] = "Hello World";答案:A4. 在C语言中,以下哪个函数用于将字符串转换成浮点数?A. atoi()B. atof()C. itoa()D. sprintf()答案:B5. 以下哪个选项是C语言中正确的数组初始化方式?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[5] = {0};C. int arr[5] = {0, 1, 2};D. int arr[5] = {0, 1, 2, 3};答案:A6. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. funcD. int答案:D7. 以下哪个选项是C语言中正确的文件包含指令?A. #include "stdio.h"B. include "stdio.h"C. #import "stdio.h"D. #include <stdio.h>答案:D8. 在C语言中,以下哪个运算符用于执行按位与操作?A. &&B. &&C. &D. ||答案:C9. 以下哪个选项是C语言中正确的单行if语句?A. if (x > y) x = y;B. if (x > y) { x = y; }C. if (x > y) x = y; else y = x;D. if (x > y) { x = y; } else { y = x; }答案:A10. 在C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C。
C语言考试试题及答案
C语言考试试题及答案一、选择题(每题2分,共20分)1. C语言的标识符可以由哪些字符组成?A. 数字、字母和下划线B. 数字和字母C. 数字、字母和特殊字符D. 字母和下划线2. 在C语言中,哪个关键字用于声明整型变量?A. floatB. intC. doubleD. char3. 下面哪个选项是C语言的逻辑运算符?A. &&B. ||C. >>D. ++4. 在C语言中,哪个函数用于输出字符串?A. printfB. scanfC. putcharD. puts5. 以下哪个选项是C语言的循环控制语句?A. ifB. switchC. whileD. break二、填空题(每题2分,共20分)6. 在C语言中,声明一个整型变量的关键字是______。
7. 以下程序段的输出结果是______。
```cint a = 5;printf("%d\n", a++ + ++a);```8. 在C语言中,用于定义数组的标识符是______。
9. 下面程序的输出结果是______。
```cint a = 3, b = 4;printf("%d\n", a > b ? a : b);```10. 在C语言中,用于表示整型常量的关键字是______。
三、判断题(每题2分,共20分)11. C语言中的变量在使用前必须先声明。
()12. 在C语言中,数组的下标从0开始。
()13. C语言的switch语句中,case后面必须跟一个break语句。
()14. 在C语言中,逗号运算符的优先级最高。
()15. C语言的函数可以没有返回值。
()四、编程题(每题20分,共40分)16. 编写一个C程序,实现以下功能:输入10个整数,计算并输出它们的平均值。
17. 编写一个C程序,实现以下功能:输入一个字符串,将其中的小写字母转换为大写字母,大写字母转换为小写字母,并输出结果。
C语言考卷(含答案)3
电子科技大学网络教育考卷(A 卷)(20 年至20 学年度第 学期)考试时间 年 月 日(120分钟) 课程 C 语言 教师签名_____一、单项选择题(每题2分,共30分)1.请问:下面这个程序段的输出是什么?( ) int a =7,b =8,c =9;if(a<b) { a=b; b=c; c=a; } printf("a=%d b=%d c=%d\n",a,b,c);A . a=7 b=8 c=7 B. a=7 b=9 c=7C. a=8 b=9 c=7D. a=8 b=9 c=82.C语言对嵌套 if 语句的规定是:else 总是与( )配对。
A.其之前最近的 if B.第一个 ifC.缩进位置相同的 ifD. 其之前最近且不带 else 的 if 3.有以下程序段:int k=0;while(k=1) k++;while 循环执行的次数是( )。
A .无限次 B.有语法错,不能执行 C. 一次也不执行 D.执行1次 4.若有语句:tatic char x[]="12345";static char y[] = {'1','2','3','4','5'}; 则下面那一个是正确的描述。
( ) A.x 数组和y 数组的长度相同。
B.x 数组长度大于y 数组长度。
C.x 数组长度小于y 数组长度。
D.x 数组等价于y 数组。
5.若有定义:int a[5][6]; 则下面关于数组a 的叙述中正确的是( )。
A.该数组共有20个元素 B.a[0][6]是该数组的一个元素C.a[0][0]是该数组的一个元素D.a[5][6]是该数组的一个元素 6.对局部变量不正确描述( )A .在不同块内可以使用相同的变量名而不会混淆。
B .局部变量在任何一个函数内有效。
C .局部变量的初值每调用一次赋一次D .用auto 说明的变量为局部变量。
c语言等级考试试题
c语言等级考试试题C语言等级考试试题一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项不是基本数据类型?A. intB. floatC. doubleD. string2. 以下哪个是正确的C语言常量定义方式?A. const int Max = 100;B. int const Max = 100;C. const int max = 100;D. int const max = 100;3. 在C语言中,以下哪个语句可以正确地声明一个指针变量?A. int *ptr;B. ptr int;C. int *ptr = 0;D. int ptr = 0;4. 以下哪个表达式的结果为真?A. 5 > 3B. 'A' == 65C. 10 % 3 == 1D. All of the above5. 在C语言中,以下哪个函数用于计算两个数的最大值?A. max()B. min()C. abs()D. pow()6. 以下哪个循环语句可以正确地实现从1到10的计数?A. for (int i = 10; i >= 1; i--)B. for (int i = 1; i <= 10; i++)C. while (int i = 1; i <= 10; i++)D. do { int i = 1; } while (i <= 10);7. 在C语言中,以下哪个关键字用于定义函数?A. ifB. elseC. functionD. void8. 以下哪个是C语言中正确的数组声明?A. int array[10] = {0};B. int array[] = {0, 1, 2, 3};C. int array[10] = 0;D. int array = {0, 1, 2, 3};9. 在C语言中,以下哪个操作符用于计算两个数的乘积?A. +B. -C. *D. /10. 以下哪个选项是C语言中的条件运算符?A. &&B. ||C. ? :D. ++二、填空题(每空2分,共20分)11. 在C语言中,`printf`函数用于______。
c语言考试试题及答案
c语言考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A3. 如果`int a = 10;`,那么表达式`a++`的值是多少?A. 9B. 10C. 11D. 无法确定答案:B4. 在C语言中,哪个运算符用于计算两个整数的最小公倍数?A. %B. /C. %D. &答案:无(C语言标准库中没有直接计算最小公倍数的运算符)5. 下列哪个不是C语言中合法的变量名?A. _myVarB. classC. 3thingsD. var-name答案:C6. C语言中,哪个函数用于将浮点数转换为整数?A. float()B. double()C. int()D. char()答案:C7. 在C语言中,`printf`函数的返回类型是什么?A. voidB. intC. floatD. char答案:B8. 下列哪个是C语言的预处理指令?A. scanfB. printfC. #includeD. main答案:C9. C语言中,`break`语句的作用是什么?A. 退出整个程序B. 退出当前的循环C. 继续下一次循环D. 结束当前的switch分支答案:B10. 在C语言中,`sizeof`运算符返回的是什么?A. 数组中元素的个数B. 变量所占的字节数C. 变量的值D. 变量的地址答案:B二、填空题(每题2分,共20分)11. C语言中,用于声明函数的关键字是________。
答案:void12. 当一个变量的值需要在函数之间共享时,可以使用________关键字。
答案:static13. 在C语言中,`NULL`代表的是________。
答案:空指针14. `for`循环的一般形式是:for(________; ________; ________)答案:初始化表达式;条件表达式;步进表达式15. 在C语言中,`&`运算符用于获取变量的________。
C语言期末考试试卷及答案3
一、单项选择题(本大题共20小题,每小题1分,共20分)1.下列说法正确的是()A.C程序可以从任何一个函数开始执行B.main函数可以被其它函数调用C.一个C程序只能有一个main函数D.main函数中不能有形参2.下列属于正确的标示符是()A.?aB.a=2C.a.3D.a_33.下列数据中属于“字符串常量”的是A.ABCB.“ABC”C.‘abc’D.‘a’4.char型常量在内存中存放的是()A.ASCII代码B.BCD代码C.内码D.十进制代码5.设字符型变量a=3,b=6,计算表达式c=(a^b)<<2后c的二进制值是()A.00011100B.00000111C.00000001D.000101006.若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c的值的类型为()A.floatB.intC.charD.double7.以下程序的输出结果是a=5,b=4,则输入数据的形式应该是()#include“stdio.h”main(){int a,b;scanf("%d,b=%d",&a,&b);printf("a=%d,b=%d",a,b);}A54B5,4C5b=4D5,b=48.C语言中,while和do…while循环的主要区别是()A.while的循环控制条件比do…while的循环控制条件严格B.do…while的循环体至少无条件执行一次C.do…while允许从外部转到循环体内D.do…while的循环体不能是复合语句9.循环语句for(x=0,y=0;(y!=123)||(x<4);x++);的循环执行()A.无限次B.不确定次数C.4次D.3次10.在C语言中,设有数组定义char array[]="China";则array所占的空间为()A.4个字节B.5个字节C.6个字节D.7个字节11.若变量已正确说明为int类型,要通过语句scanf(“%d%d%d”,&a,&b,&c);给a,b,c分别赋值3,5,8,不正确的输入形式是()A.3<enter>B.3,5,8<enter>5<enter>8<enter>C.3<enter>D.35<enter>58<enter>812.char*p="happy new year";char*q=p;int k;for(k=1;k<8;k++){putchar(*q);q++;}上面C程序段的输出结果是()A.happy new yearB.happy newC.happy nD.happyE.appy n13.设double*p[5];则A.p是指向double型变量的指针B.p是double型数组C.p是指针数组,其元素是指向double型变量的指针D.p是数组指针,指向double型数组14.两个指针变量不可以()A.相加B比较C相减D指向同一地址15.对C语言函数描述正确的是A.在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传回给实参B.C函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.函数必须有返回值,返回值类型不定16.设有如下定义,则对data中的a成员的正确引用是()struct test{int a;float b;}data,*p=&data;A.(*p).data.aB.(*p).aC.p->data.aD.p.data.a17.有如下程序(提示:注意宏替换的规则)#define N2#define M N+1#define NUM2*M+1#main(){int i;for(i=1;i<=NUM;i++)printf(“%d\n”,i);}该程序中的for循环执行的次数是()A.5B.6C.7D.818.若有以下定义,则printf(“%d\n”,sizeof(them));的输出是()typedef union{long x[2];int y[4];char z[8];}MYTYPE;MYTYPE them;A.32B.16C.8D.2419.下列语句中,将c定义为文件型指针的是()A.FILE c;B.FILE*c;C.file c;D.file*c;20.下列关于C语言数据文件的叙述中正确的是A.文件由ASCII码字符序列组成,C语言只能读写文本文件B.文件由二进制数据序列组成,C语言只能读写二进制文件C.文件由记录序列组成,可按数据存放形式分为二进制文件和文本文件D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件二、填空题(本大题共10小题,每小题2分,共20分)1.在定义变量的同时给变量赋予初值就称为___________________________________ 2.下面程序段的输出结果是___________________________________________ int a=28;a=a&21;printf(“%d%o\n”,a,a);3.能正确表示0≤a≤10的逻辑表达式是_________________________________4.若有定义int a[3],*p;则使p指向数组a的赋值语句是_______________________ 5.strcmp函数的功能是________________________________________6.写出数学式a acbbx24 2-+-=的C语言表达式________________________________ 7.将以下程序写成三目运算符的表达式是____________________________________if(a>b)max=a;else max=b8.设有定义如下:#define F(N)2*N,则表达式F(2+3)的值是_____________________. 9.在C语言中,指针运算符为___________________,取地址运算符________________。
完整版C语言试卷及答案
完整版C语言试卷及答案一、选择题部分(每题1分,共30分)1. 下列选项中,不是C语言基本数据类型的是:A. intB. doubleC. charD. boolean2. 在C语言中,以下哪个用于定义常量的关键字?A. constB. staticC. finalD. define3. 下面哪个选项是正确的C语言注释格式?A. /** 注释内容 */B. // 注释内容C. /* 注释内容 */D. # 注释内容4. 下列选项中,不是C语言的逻辑运算符的是:A. &&B. ||C. !D. %5. 在C语言中,以下哪个函数用于输出信息到屏幕上?A. scanf()B. printf()C. gets()D. puts()二、填空题部分(每题2分,共20分)1. 在C语言中,用于声明变量的关键字是_________。
2. 在C语言中,用于取一个整数的绝对值的函数是_________。
3. 下面这段代码的输出结果是_________。
```c#include <stdio.h>int main(){int a = 10;int b = 20;printf("%d + %d = %d\n", a, b, a + b);return 0;}```4. 在C语言中,用于按位取反的运算符是_________。
5. 下面这段代码的循环次数是_________。
```c#include <stdio.h>int main(){int i;for (i = 0; i < 5; i++){printf("%d ", i);}return 0;}```三、编程题部分(共50分)1. 编写一个程序,输入一个整数n(n>0),输出1到n之间的所有偶数。
2. 设计一个函数,接收两个整数参数a和b,返回它们的最大公约数。
3. 编写一个程序,实现斐波那契数列的前n项的求和。
C语言程序设计试卷3(含答案)
题 目 得 分 阅卷人
一
二
三
四
总 分
分数核对
二、阅读程序题答题处: 1 题【41】 4 题【44】 6 题【46】 8 题【48】
(每空 3 分,共 30 分) 2 题【42】 5 题【45】 7 题【47】 9 题【49】 10 题【50】 3 题【43】
三、程序改错题答题处:(每空 2 分,共 12 分) 1题 【51】 【52】 【53】 2题 【54】 【55】 【56】 四、完善程序填空题答题处:(每空 2 分,共 18 分) 1题 【57】 【58】 【59】 2题 【60】 【61】 【62】
1Leabharlann 56737.下列语句中,能正确打开 A 盘 STU 文件夹下 t1.txt 文件的是 【37】 。 A) fp=fopen("A:\STU\t1.txt", "r"); B) fp=fopen(A:\STU\t1.txt, "r"); C) fp=fopen("A:\\STU\\t1.txt", "r"); D) fp=fopen(A:\\STU\\t1.txt, r);
D) 1
12.下列程序段的输出结果是 【12】 。 int i=26; do { printf("%d", i%8); } while ( i = i/8 ); A) 死循环 B) 3 C) 23 D) 32 13.已知:int k=10; 则下面的 while 循环 【13】 。 while (k=0) k--; A) 执行 10 次 B) 是死循环 C) 一次也不执行 14.以下对二维数组 a 的正确定义是 A) int a[3][] ; C) #define N 3 int a[N][N+1]; 15.已知如下数组定义:
C语言试卷(含答案)
C语⾔试卷(含答案)⼀、单项选择题(每⼩题2分,共40分)1、sizeof(float)是()A. ⼀个双精度型表达式B. ⼀个整型表达式C. ⼀种函数调⽤D. ⼀个不合法的表达式2、设i是int型变量,f是float型变量,⽤下⾯的语句给这两个变量输⼊值: scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输⼊为()。
A. 100 765.12B. i=100,f=765.12C. 100<回车> 765.12D. x=100 y=765.123、#includevoid main(){int a=3,b=2,c=1;int x=10,y=20;if(aif(b!=0)if(!x)y=1;else if(x)y=0;y=-1;printf("%d",y);}上⾯的C程序的输出结果是()。
A. 20B. 1C. 0D. -14、C语⾔中,while和do…while循环的主要区别是()。
A. do…while的循环体⾄少⽆条件执⾏⼀次B. while的循环控制条件⽐do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执⾏下⾯的C程序段后,输出结果是()。
int a=5; while( a- -);printf( "%d",a) ;A. 54321B. 4321C. 0D. -16、在C语⾔中,()是在所有函数外部声明的。
A. 全局变量B. 局部变量C. 形参D.实参7、分析下⾯的C程序:#includevoid main(){int num=0;while(num<=2){num++;printf("%d ",num);}}输出结果是()。
A. 1 2 3B. 0 1 2C. 2 3D. 1 28、下⾯的C语⾔代码段的输出结果是()。
2023年c语言试题及答案整理
2023年c语言试题及答案整理c语言试题及答案C语言是一门通用计算机编程语言,应用广泛。
我收集了c语言试题及答案,欢迎阅读。
c语言试题一选择题(7分,每小题0.5分)1.C语言源程序的基本单位是( )。
A 过程B 函数C 子程序D 标识符2.下列程序的输出结果是( )。
main( ){ int a=7,b=5;printf(%d,b=b/a);}A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,ab?a++:b++,a+b)的值是( )。
A 7B 8C 9D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是( )。
a=125.534; a=(int)125.521%4; a=52;A 125,31,1B 125,1,20C 125,31,20D 125.534,2,205.设有如下程序段,下面描述中正确的是( )。
int k=10; while(k=0) k=k-1;A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次6.以下程序的输出结果为( )。
int i;void prt( ){ for(i=5;i8;i++) printf(%c,*);printf();}main( ){ for(i=5;i=8;i++) prt( );}A ***B *** *** *** ***C *** ***D * * *7.在C语言程序中,以下说法正确的是()。
A函数的定义可以嵌套,但函数的调用不行以嵌套B函数的定义不行以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不行以嵌套D函数的定义和函数的调用都可以嵌套8.以下函数调用语句中含有( )个实参。
func((e1,e2),(e3,e4,e5));A 2B 3C 5D 语法错误9.以下程序的输出结果为( )。
#define ADD(x) x*xmain( ){ int a=4,b=6,c=7,d=ADD(a+b)*c;printf(d=%d,d);}A d=70B d=80C d=140D d=70010.已知职工记录描述如下,在Turbo C中,系统为变量w安排( )字节的空间。
- 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.。