C语言试题1
C语言练习题1
一、语言基础选择题1. 下面说法中,正确的是 BA)C语言是机器语言B)C语言程序可以由一个或多个函数构成C)C语言程序总是从第一个函数开始执行D)C语言程序不用编译就可以直接运行2.C语言程序的基本单位是 CA) 程序行 B) 语句 C) 函数 D) 字符3.一个C语言程序的上机步骤是 AA) 编辑,编译,连接,执行 B) 编译C) 编辑,连接,执行 D) 连接,编译,执行4. 已知有定义:char ch;则如下正确的赋值为 AA) ch=‘M’; B) ch=’55’; C) ch="M"; D) ch="55";5.在Turbo C环境中,查看程序运行结果的快捷键是 DA) F5 B) Ctrl+F9 C) F8 D) Alt+F56.下列变量名中合法的是 CA) B.C.Tom B) 3a6b C) _b5a8 D) $ABC7. C语言中,要求运算数必须是整型的运算符是 DA) / B)+ + C)!= D)%8. 已知 int j,i=1;则执行j=-i++; i和j的值为 BA)1,-1 B)2,-1 C)1,1 D)2,19.在C语言中,数字035是一个 AA)八进制数 B)十六进制数 C)十进制数 D)非法数10.C语言中用于结构化程序设计的三种基本结构是___A___A)顺序结构、选择结构、循环结构 B)if、switch、breakC)for、while、do-while D)if、for、continue11.如下程序运行后的输出结果是___B___main( ){int x=1,a=0,b=0;switch(x){ case 0:b++;case 1:a++;case 2:a++;b++;}printf("a=%d,b=%d\n",a,b);}A)a=1,b=1 B)a=2,b=1 C)a=1,b=0 D)a=2,b=2 12. 下列说法中,正确的是___C___int i,x;for(i=0,x=0;i<=5&&x!=4;i++);A)循环体一次也不执行 B)是无限循环C)最多执行6次 D)最多执行5次13.设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是___D___ A)3 B)0 C)9 D)-1214.有输入语句:scanf("a=%d,b=%d",&a,&b),为使变量a值为3,b值为7,从键盘输入数据的正确形式是___A___A)a=3,b=7<回车> B)a=3 b=7<回车> C)3 7<回车> D)3,7<回车>15.已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是___D___#include <stdio.h>main(){char c1='A', c2='Y';printf("%d,%d\n",c1,c2);}A) 因输出格式不合法,输出错误信息 B)65,90C)A,Y D)65,8916.如下程序段int a=14,b=15,x;char c='A';x=(a&&b)&&(c<'B');执行该程序段后,x的值为___D___A)ture B)false C)0 D)117.以下关于break和continue语句的说明正确的是__C____A) break用于switch结构,continue用于循环结构。
C语言练习1
C语言练习1一、单选1、以下标识符中,合法的用户标识符为【】。
A) b–b B) CCP C) hiy D)_iswAbc float INT2、若int类型数据占2个字节,则下列语句的输出结果为【】。
C. int k=-1; printf(“%d,%o”,k,k);D. A) –1,–1 B) –1,32767 C) –1,177777 D) –1,655353、在宏定义 #define PI 3.14159中,用宏名PI代替一个【】A) 单精度数 B) 双精度数 C) 常量 D) 字符串4、设有以下定义【】int a=0;double b=1.25;char c=’A’;#define d 2则下面语句中错误的是A)a++; B)b++ C)c++; D)d++;5、下面的程序【】int a=3,b=4; char str=’c’;printf(“%d,%c”,a, str, b);执行后,输出结果为:A)3,c,4 B)3 4 C)3,c D)程序出错6、表达式 7/4*sqrt(16.0)+8值的数据类型是【】。
A. intB. doubleC. floatD.不确定7、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是【】A) c=b=a;B) (a=c) ∥(b=c) ;C) (a=c) &&(b=c); C) a=c=b;8、若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是【】A) p+1 B) a+1 C) a++ D) ++p9、以下说法中正确的是【】A) C语言程序总是从第一个的函数开始执行B) C语言程序中要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分10、设有以下定义: 【】A. typedef union { long i; int k[5];char c;}DATE;B. struct date { int cat;DATE cow;double dog;}too;C. DATE max;D. 则下列语句的执行结果是E. printf("%d",sizeof(struct date)+sizeof(max));A) 25 B) 30 C) 18 D) 811、以下4个选项中,不能看作一条语句的是【】。
C语言练习题1
C语言练习题1第八章结构体与共用体1练习题一、c语言基础知识1.1选择题1.以下不是c语言的特点的就是(b)。
a.语言简洁紧凑b.能够编制出功能复杂的程序c.c语言可以直接对硬件操作d.c 语言移植性好2.以下字符序列中,不容用做c语言标识符的就是(b)。
a.abc123b.no.1c._123_d._ok3.正确的c语言标识符是(a)。
a._buy_2b.2_buyc.?_buyd.buy?4.恳请挑选出可以用做c语言用户标识符的一组标识符(b)。
a.voidb.a3_b3c.ford.2adefine_123-abcdowordifcasesizeof5.以下符号中,不属于转义字符的就是(b)。
a.\\\\b.\\0xaac.\\td.\\06.不属于c语言关键字的是(d)。
a.intb.breakc.whiled.character7.就是c语言提供更多的合法关键字的就是(b)。
a.floatb.signedc.integerd.char8.以下不能定义为用户标示符的是(d)。
a.一个主程序和若干子程序共同组成b.一个或多个函数共同组成c.若干过程共同组成d.若干子程序共同组成10.c语言程序的基本单位是(c)。
a.程序行b.语句c.函数d.字符20.下列变量定义中合法的是aa.short_a=1-.le-1;b.doubleb=1+5e2.5;c.longdo=0xfdal;d.float2_and=1-e-3;9xn21.与数学式子对应的c语言表达式是(c)。
2x?1a.9*x^n/(2*x-1)b.9*x**n/(2*x-1)c.9*pow(x,n)*(1/(2*x-1))d.9*pow(n,x)/(2*x-1)第八章结构体与共用体222.若存有代数式3ab,则不正确的c语言表达式是(c)。
cda.a/c/d*b*3b.3*a*b/c/dc.3*a*b/c*dd.a*b/d/c*323.已知各变量的类型说明如下:intm=8,n,a,b;unsignedlongw=10;doublex=3.14,y=0.12;则以下符合c语言语法的表达式是(a)。
c语言练习1
练习1一、选择题1、一个C程序是由(B)。
A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成2、一个C程序的执行是从( A )。
A.main函数开始,直到main函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main函数开始,直到最后一个函数结束3、C语言语句的结束符是(B)。
A.回车符B.分号C.句号D.逗号4、下面标识符中( D )不是C语言的关键字。
A.char B.goto C.case D.include5、以下说法正确的是(A)A.C程序的注释可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。
B.C程序的注释只能是一行。
C.C程序的注释不能是中文文字信息。
D.C程序的注释中存在的错误会被编译器检查出来。
6、以下说法正确的是(D)A.C程序中的所有标识符都必须小写B.C程序中关键字必须小写,其他标识符不区分大小写C.C程序中所有标识符都不区分大小写D.C程序中关键字必须小写,其他标识符区分大小写。
7、设x、y均为float型变量,则以下不合法的赋值语句是(B)A.++x ; B.y=(x%2)/10 ; C.x*=y+8; D.x=y=0 ;解析:运算符%要求两端的操作数必须为整型,而在答案B中%号两端的操作数为x和2,x为实型,所以是错误的。
8、下列不正确的转义字符是(C)A.' \\ ' B.' \' ' C.' \19 ' D.' \0 '解析:转义字符是由单引号括起来的带反斜线的字符,这些字符具有特殊的含义,反斜线后可以是数字来代表某个字符,而这些数字只包括两种:八进制(1-3位)和十六进制(1-2位)。
十六进制前面要加x(或X),这里的C答案反斜线后是数字,但不是x开头,所以应该是八进制数,但是数值里有9,和八进制数不符,所以是错误的。
C语言题库(1).docx
一. 选择题 (单项)1. C 语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符——。
A必须为字母B必须为下划线C必须为字母或下划线 D 可以是字母、数字和下划线中的任一种字符2.下面 4个选项中,均是 C 语言关键字的选项是——。
Aauto enum includeBswitch typedef continueC signed union scanfD if struct type3.下面 4个选项中,均是不合法的用户标识符的选项是——。
A A P_0 doBfloat la0_AC b- a goto int D_123 temp INT4.在 C 语言中,int 、char 和 short 三种类型的数据在内存中所占用的字节数——。
A由用户自己定义B均为 2 个字节C是任意的D由所用机器的机器字长决定5.下面 4 个选项中,均是合法浮点数的选项是——。
A+1e+15e-9.403e2B- .60 12e-4-8e5C123e 1.2e-.4 +2e - 1D-e3 .8e-4 5.e -06.下面不正确的字符串常量是——。
AˊabcˊB〞 12ˊ12〞C〞0 〞D〞〞7.假设所有的变量均为整型,则表达式(a=2,b=5,b++, a+b)的值是——。
A7B8C6D28.以下正确的叙述是——。
A在 C 语言中,每行只能写一条语句B若 a 是实型变量, C 程序中允许赋值a=10,因此实型变量中允许存放整型数C在 C 程序中,无论整数还是实数,都能被准确无误的表示D在 C 程序中, % 是只能用于整数运算的运算符9.以下表达式值为 3 的是——。
A 16-13%10B2+3/2C 14/3-2D(2+6)/(12- 9)10.设变量 a 是整型, f 是实型, i 是双精度型,则表达式 10+ˊ aˊ +i*f 值的数据类型为——。
A intB floatC doubleD 不确定11.在 C 语言中, char 型数据在内存中的存储形式是——。
C语言试题1
A) 本程序的main函数开始,到main函数结束
B) 本程序文件的第一个函数开始,到本程序文件的最 后一个函数结束 C) 本程序的main函数开始,到到本程序文件的最后一 个函数结束 D) 本程序文件的第一个函数开始,到本程序的 main 函 数结束
2.一个C语言程序是由【 B 】。 A) 一个主程序和若干子程序组成 B) C) 函数组成 若干过程组成
16.在C语言中,合法的字符常量是 A) '\084' B) '\x43' C) 'ab' D) "\0"
【 B 】。
17.若有以下定义和语句 char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+'A'); 则输出结果是【 B 】。 A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定
18.在以下一组运算符中,优先级最高的运算符是【 C 】
A)<=
B)=
C)%
D)&&
20.在循环语句的循环体中执行break语句, 其作用是【 A 】。 A)跳出该循环体,提前结束循环 B)继续执行break语句之后的循环体各语句 C)结束本次循环,进行下次循环 D)终止程序运行
Байду номын сангаас
22.如果定义一个整型变量 int a;,使该变量字节不变, 而正数值的表示范围扩大一倍的方式用【 C 】。 A)signed B)long C)unsigned D)float
36.根据下面的程序及数据的输入和输出形式,程序中输 入语句的正确形式应该为【 A 】 main() {char ch1,ch2,ch3; 输入语句 printf("%c%c%c",ch1,ch2,ch3);} 输入形式:A B C 输出形式:A B A) scanf("%c%c%c",&ch1,&ch2,&ch3); B) scanf("%c,%c,%c",&ch1,&ch2,&ch3); C) scanf("%c %c %c ",&ch1,&ch2,&ch3); D) scanf("%c%c",&ch1,&ch2,&ch3);
C语言习题(1)
C语言概述、数据类型运算符表达式、顺序结构一、选择题1.下列叙述中,正确的是。
A.C程序中的注释只能出现在程序的开始位置和语句的后面B. C程序书写格式严谨,要求一行内只能写一个语句C. C程序的书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中2.下列选项中,可作为合法标识符的是。
A.1mB. DataC. str+1D. i-1 3.设变量已正确定义并赋值,以下合法的C语言赋值语句是。
A.x=y==5B. x=n%2.5C. x+n=iD. x=5=4+1 4.设有定义:int k=0;以下选项的4个表达式中与其他3个表达式的值不相同的是。
A.k++B. k+=1C. ++kD. k+1 5.若有定义:int a,b;则用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是。
A.,B. 空格C. 回车D. Tab键6.C语言并不是非常严格的算法语言,在以下关于C语言的不严格的叙述中,错误的是。
A.任何不同数据类型都不可以通用B. 有些不同类型的变量可以在同一个表达式中运算C. 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D. 同一个运算符号在不同的场合可以有不同的含义7.下列常数中不能作为C语言的常量的是。
A.0Xa6B. 3.4e-3C. 3e5D. 0683 8.下面不是C语句的是。
A.int;B. ;C. a=1,b=5D. {;} 9.设x、y、z为整型变量,若从键盘给x、y、z输入数据,则正确的输入语句是。
A.scanf(“%d%d%d”,&a,&b,&c);B. scanf(“%d%d%d”,a,b,c);C.scanf(“%D%D%D”,&a,&b,&c);D. scanf(“%d%d%d”,&a;&b;&c); 10.若变量已正确定义,现要将a和b中的数据进行交换,下面不正确的是。
C语言试题第一章
C语⾔试题第⼀章第⼀章检测卷⼀知识框图⼀、选择题1.下列标识符中,合法的⽤户标识符()A.abcB.intC.7_aD.a+b2.在⼀个C语⾔程序中()A.可以由多个main()函数B.可以没有main()函数C.有且只有⼀个main()函数D.必须由数据输⼊函数3.以下叙述中,正确的是()A.构成C程序的基本单位是函数B.可以在⼀个函数中定义另⼀个函数C.main()函数必须放在其他函数之前D.所有被调⽤的函数⼀定要在调⽤之前进⾏定义4.⼀个C程序的执⾏是从A.本程序的main函数开始,到main函数结束B.本程序⽂件的第⼀个函数开始,到本程序⽂件的最后⼀个函数结束C.本程序的main函数开始,到本程序⽂件的最后⼀个函数结束D.本程序⽂件的第⼀个函数开始,到本程序的main函数结束5.下⾯对C语⾔特点的描述不正确的是()A.C语⾔兼有⾼级语⾔和低级语⾔的双重特点,执⾏效率⾼B.C语⾔既可以⽤来⽩那些应⽤程序,⼜可以⽤来编写系统软件C.C语⾔中的变量可以不定义,直接使⽤D.C语⾔是⼀种结构式模块设计语句6.以下不是C语⾔中的关键字的是()A.caseB.typedefC.staticD.null7.以下选项中合法的⽤户标识符()A.123B.mainC.alD.A.8.C语⾔具有低级语⾔的功能,主要是指()A.程序的可移植性B.程序的使⽤⽅⾯性C.能直接访问物理地址,可进⾏位操作D.具有现代化语⾔的各种数据结构9.C语⾔程序能够在不同的操作系统下运⾏,这说明C语⾔具有很好的()A.适应性B.兼容性C.移植性D.操作性10.⼀个C语⾔程序是由()A.⼀个主程序和若⼲个⼦程序组成B.若⼲个函数组成C.若⼲个过程组成D.若⼲个⼦程序组成11.C语⾔中必须有的函数是()A.#include “stdio.h”B.mainC.printfD.scanf12.以下不是结构化程序的基本结构是()A.顺序结构B.分⽀结构C.循环结构D.函数13.下列选项中不是C语句的是()A.{int i;i++}B.;C.a=5,c=10D.{;}14.下列说法中正确的是()A.书写C语⾔程序时,不区分字母⼤⼩写B.书写C语⾔程序时,⼀⾏只能写⼀条语句C.书写C语⾔程序时,⼀条语句可分成⼏⾏书写D.C语⾔本⾝有输⼊/输出语句15.下列关于C语⾔,正确的说法是()A.C语⾔⽐其他语⾔⾼级B.C语⾔源程序可以直接被计算机执⾏C.C语⾔⽤接近⼈们习惯的⾃然语⾔和数学语⾔作为语⾔的表达形式D.C语⾔出现最晚,各⽅⾯都优于其他语⾔16.要把⾼级语⾔编写的源程序转换成⽬标程序,需要使⽤()A.编辑程序B.驱动程序C.诊断程序D.编译程序17.C语⾔程序经过编译、连接后⽣成的可执⾏⽂件的扩展名是()A..cB. .exeC. .oD. .obj18.下列叙述中正确的是()A.C语⾔编译时不检查语法B.C语⾔的⼦程序有过程和函数两种C.C语⾔的函数可以嵌套定义D.C语⾔的所有函数都是外部函数19.⽤计算机⾼级语⾔编写的程序⼀般称为()A.⽬标程序B.可执⾏程序C.源程序D.伪代码程序20.通过Dev-C++将源代码编译后,⽣成的⽂件格式是()A..dll B ..c C. .obj D. .exe21.按照运⾏C语⾔的标准步骤:编辑---编译---连接---运⾏,则编译后⽣成的⽬标程序的⽂件格式为()A..cB. .objC. .exeD. .dll22.在定义#define PI 3.1415926中,⽤宏名PI代替⼀个()A.单精度数B.双精度数C.常量D.字符串23.构成C语⾔程序的基本结构单位()A.函数B.过程C.复合语句D.语句24.在C语⾔的源程序中,当⼀条语句⼀⾏写不完时,可以()A.⽤分号换⾏B.⽤逗号换⾏C.⽤回车换⾏符换⾏D.可在任意的分隔符或空格出换⾏25.⼀个C程序总是从开始执⾏。
C语言试题-1(含答案)
C语言试题2019.03一、单项选择题(共30分,每题1分)1.在PC机中,‘\n’在内存占用的字节数是()A.1 B.2 C. 3 D.42.字符串“ABC”在内存占用的字节数是()A.3 B. 4 C.6 D.83.在C语言中,合法的长整型常数是()A.0L B.4962710 C.0.054838743 D.2.1869 e104.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次是()A.3,3,2 B.3,2,2 C.3,2,3 D.2,3,25.设有语句int a=3;,则执行了语句a+=a-=a*a后,变量a的值是()A.3 B.0 C.9 D.-126.设int k=32767;执行k=k+1;后k值为()最大值与最小值首尾相连A.32768 B.-32768 C.0 D.-17.下列正确的标识符是()A.hot_do B.a+b C.test! D.%y8.设int a=5,使b不为2的表达式是()A.b=6-(--a) B.b=a%2 C.b=a/2 D.b=a>3?2:19.执行x=(6*7%8+9)/5;后,x的值为()A.1 B.2 C.3 D.410.执行语句x=(a=3,b=a--)后,x,a,b的值依次为()A.3,2,3 B.2,3,2 C.3,3,2 D.3,2,211.设a=-3;执行(a>0)?a:-a;后,a的值为()A.3 B.1 C.0 D.-312.设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为()A.7 B.8 C.9 D.213.下面正确的字符常量是()A.”c” B.’\\’’ C.’W’ D. ‘’14.若有代数式3ae/bc,则不正确的c语言表达式是()A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c D.a*e/c/c*315.在C语言中,要求运算数必须是整型的运算符是()书中55页A./ B.++ C.!= D.%16.若有说明语句:char c=’\72’;则变量c ( )A.包含1个字符 B.包含2个字符C.包含3个字符 D.说明不合法,c值不确定17.sizeof (float)是()返回值为4。
c语言期末考试练习题1(含答案)
一、单项选择题(6小题,每小题3分,共18分)1、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是A、externB、registerC、autoD、static2、下面4个选项中,是合法转义字符的选项是( )。
A、'\"B、'\'C、'\018'D、'\\0''\\' '\017' '\f' '\101''\n' '\''' 'xab' 'x1f'3、下面4个选项中,是正确的八进制数或十六进制数的选项是( )。
A、–10B、0abcC、0010D、0a120x8f –017 –0x11 ––011 0xc 0xf1 –0xa4、以下在任何情况下计算平方数时都不会引起二义性的宏定义是( )A、# define POWER(x) □□x * xB、# define POWER(x) □□(x) * (x)C、# define POWER(x) □□(x * x)D、# define POWER(x) □□((x) * (x))5、以下程序段( )x= –1;do{ x=x*x;} while (!x);A、是死循环B、循环执行二次C、循环执行一次D、有语法错误6、下面程序的运行结果是( )# include <stdio.h>int main( ){ int i,j,x=0;for (i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if (j%2) continue;x++;}x++;}printf ("x= %d \n",x);return 0;}A、x=4B、x=8C、x=6D、x=12二、填空题(7小题,每小题3分,共22分)1、下面程序段的运行结果是( )。
C语言试卷1(含答案)
putchar (j);
}
3、下面的函数功能是求x的y次方。
double fun(double x,int y)
{ int i;
double z=1;
for(i=1;i<=y;i++)
z=z*x;
return z;
}
4、先为数组a输满数据,再为x输入一个数据,在数组a中找出第一个与x相等的元素并将下标输出,若不存在这样的元素,则打印”Not found!”标志。
printf("\"%s\"\n",ch[1]);
}
A. "AAAA"B. "BBB"C. "BBBCC"D. "CC"
9.在C语言中,形参的缺省存储类是。
A. autoB. registerC. staticD. extern
10.以下程序的输出结果是。
main()
{ char x=040;
printf("%0\n",x<<1);
27.对break语句和continue语句,下面说法不正确的是。
A.break语句强制中断当前循环,退出循环体
B.break语句只能用在三条循环语句的循环体或switch语句中
C. 在没有循环情况下,continue语句能用在switch语句中
D.continue语句不能退出循环体
28.c语言允许if-else语句可以嵌套使用,规定else总是与配对。
A.&aa[0]+1B.&aa[1]C..&aa[0]++D. aa+1
C语言试题1
模拟测试1.C语言的结构1.在C语言中,程序的基本单位是______,一个C源程序至少包含一个______,当然也可以包含一个______和许多个其他的______。
2.C语言具有层次清晰的特点,它用函数作为程序模块以实现程序的______,从而使得程序易于调试和维护,符合现代编程的风格,所以C语言是一种______语言。
阅读下面的程序,回答3、4题。
程序1-1:P1-1.c#include<math.h>#include<stdio.h>main(){double s;printf("Input a number:\n");scanf("%f",&s);s=sqrt(s);printf("%lf\n",s);}3.在上面的程序中,include称为______,而类似math.h的以.h为扩展名的文件称为______。
4.在程序1-1中,属于数据说明的语句是______,整个函数体包含在______之中。
5.与一般的编程语言相比较,C语言具有限制小,灵活性______,语法限制______,程序设计自由度大,可移植性______,并且能够______访问内存。
6.以下说法中正确的是()。
A)C语言程序总是从第一个函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分2.数据类型及其运算1.C语言的数据类型可以分为基本类型、______类型、______类型和空类型。
其中基本类型又可以分为整型、______、______和枚举类型。
构造类型可以分为______类型和______类型。
2.在C语言中,合法的字符常量是()。
A)'\084' B)'\x43'C)'ab' D)"\0"3.在C语言中不但规定了运算符的优先级,并且规定了运算符的______,这也是其他高级语言所没有的,同时也增加了C语言的复杂性。
c语言试题1有答案
一、单项选择题(每题2分,15小题,共30分)1.C语言源程序是由组成的。
A) 过程B) 函数C) 子程序D) 主程序和子程序2.一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是。
A) 有零个或多个输入B) 有零个或多个输出C) 有穷性D) 可行性3.以下选项中合法的C语言标识符是。
A) long B) _2Test C) 3Dmax D) A.dat4.下列转义字符中错误的是。
A) '\000' B) '\14' C) '\x111' D) '\2'5.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,是正确的。
A) 语法错误B) f为5.0 C) f为0.0 D) f为2.06.若变量a,b已经正确定义并赋值,符合C语言语法的表达式是。
A) a2+b B) a*a+b C) a×a+b D) a·a+b7.有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是。
A) 132↙B) 1,3,2↙C) a=1b=3c=2↙D) a=1,b=3,c=2↙8.若 w=1,x=2,y=3,z=4,则条件表达式w<x ?w : y<z ?y : z的值是。
A) 4 B) 3 C) 2 D) 19.设int a=0,b=0,m=0,n=0;则执行(m = a==b)||(n = b==a)后m和n的值分别是。
A) 0,0 B) 0,1 C) 1,0 D) 1,110.以下for循环的执行次数是。
for (x=0,y=0; (y=123)&&(x<4);x++) ;A) 无限循环B) 循环次数不定C) 4次D) 3次11.下面程序段的输出结果是。
C语言测试题及答案(1)(1)
一.选择题1.int i=10;float x; 执行x=5/i; 后x的值为 __C______。
A.0.5 B.0 C.0.0 D.1.02. 以下标识符中,哪一个是C语言的合法标识符 CA) 2abcd B)int C)a-2c D)_char E)#456xy3. 以下 C 是不正确的转义字符:A) '\n' B)’\’’C)'061' D)'\0'4.执行下面的程序后# include<stdio.h># define SQR(X) (X) * (X)void main (){ int a=10,K=2,m=1;a /= SQR(K+m) / SQR(K+m);printf(”a=%d”,a);}输出结果是a=__B_____。
A.10 B.1 C.9 D.05. 现有定义char str1[]="China",str2[5]={'C','h','i','l','e'};则有AA)strcmp(str1,str2)>0B)strcmp(str1,str2)<0C)strlen(str1)=6D)str1与str2所占存储空间大小一样6.有以下的结构体变量定义语句:struct student { int num; char name[9]; } stu;则下列叙述中错误的是B 。
A.结构体类型名为student B.结构体类型名为stuC.num是结构体成员名 D.struct是C的关键字7. 执行以下程序:# include<stdio.h>void main (void){char c=0;printf(“%c\n”,c);}输出结果是 _D_______。
A.‘\0’ B.语法错,不能执行 C.0 D.一个空行8.C语言对嵌套 if 语句的规定是: else 总是和 D 配对A)其之前最近的 if B) 缩进位置相同的 ifC)第一个 if D) 其之前最近且不带 else 的 if9.设有定义语句enum aa{add,sub,mul,div}opera;,以下对枚举变量opera的操作中,不正确的是 BA. opera=(enum aa)2B. scanf(“%d”,&opera)C. opera=add+1D. if(opera==sub)print(”OK”);10. 下列宏定义命令中,哪一个格式是正确的___D_____A.#define pi=3.14159;B. define pi=3.14159C. #define pi="3.14159"D. #define pi (3.14159)11.以下不正确的描述是 AA)在 switch 语句中使用 break 语句或continue语句的作用相同B)在循环语句中使用 continue 语句是为了结束本次循环,而不是终止整个循环C)break 语句不能用于循环语句和 switch 语句之外的任何其他语句D)在循环语句中使用 break 语句是为了使流程跳出循环体,提前结束循环12.定义int x=3,执行while(x){printf(“%d”,x);x--;}语句后,x的值为:A 。
c语言试题,经典(1)
参考答案一、单项选择题:(10分,每题2分)1.char (*p)[10];该语句声明了一个:A。
A) 指向含有10个元素的一维字符型数组的指针变量pB) 指向长度为10的字符串的指针变量pC) 有10个元素的指针数组p,每个元素可以指向一个字符串D) 有10个元素的指针数组p,每个元素存放一个字符串2.以下错误的描述是(C )。
A)不同的函数中可以使用相同名字的变量,互不干扰B)形式参数都是局部变量C)函数定义可以嵌套D)C语言中的函数参数传递都是单向值传递3.以下对二维数组进行正确初始化的是( B )。
A)int a[2][3]={{1,2},{3,4},{5,6}};B)int a[][3]={1,2,3,4,5,6};C)int a[2][]={1,2,3,4,5,6};D)int a[2][]={{1,2},{3,4}};4.已知:union{double k;char c;float a;}test;则sizeof(test)的值是:A。
A)8 B)1 C)4 D)135.设有语句int a = 3; 执行了语句a += a -= a *= a; 后,变量a的值是____B____。
A) 3 B) 0 C) 9 D) -12二、写出下列程序的运行结果。
(10分,每题2分,第2、4、5题打印结果正确但是没有换行时,给1分)1.#include <stdio.h>main(){char c;while ((c = getchar()) != '$'){putchar(c);}printf("End!\n");}程序运行时输入abcdefg$abcdefg↙则程序的运行结果为abcdefgEnd!2.#include<stdio.h>void Fun(int *y){printf("*y = %d\n", *y);*y = 20;printf("*y = %d\n", *y);}main(){int x = 10;printf("x = %d\n", x);Fun(&x);printf("x = %d\n", x);}运行结果是:x = 10*y = 10*y = 20x = 203.#include <stdio.h>main(){int n;for (n=1; n<=5; n++){if (n % 2){printf("*");}else{continue;}printf("#");}printf("$\n");}运行结果是:*#*#*#$4.#i nc lu de <st d io.h>st ru ct d at e{in t y ea r;in t m on th;in t d ay;};vo id f un c(st r uc t da te *p){p->y ea r = 2006;p->m on th = 11;p->d ay = 18;}ma in(){st ru c t da te d;d.ye a r = 2005;d.mo n th = 12;d.da y = 10;pr in t f(“%d,%d,%d\n”,d.ye ar,d.mo nt h,d.da y);fu nc(&d);pr in t f(“%d,%d,%d\n”,d.ye ar,d.mo nt h,d.da y);}运行结果是:2005,12,102006,11,185.#include<stdio.h>in t Fu n(in t x){st at ic i nt y= 10;y += x;re tu rn y;}ma in(){in t y= 0, k;fo r (k=0; k<2; k++){y = Fu n(k);pr in tf("y = %d\n", y);}}运行结果是:y = 10y = 11三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。
c语言考试题(1)
fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是()。
A、读或读写B、追加C、只写D、答案B和C都正确【参考答案】错误A【学生答案】D使用共用体变量,不可以()。
A、同时访问所有成员B、进行动态管理C、节省存储空间D、简化程序设计【参考答案】正确A【学生答案】A设有如下定义: struct sk {int a; float b;} data,*p;若要使p指向data中的a域,正确的赋值语句是()。
A、p=(struct sk*) ;B、*p=;C、p=&;D、p=&data,a;【参考答案】错误C【学生答案】B以下程序段执行后输出的结果是( ).char str[ ]="ABCD",*p=str;printf("%d\n",*(p+4));A、字符'D'的地址B、0C、不确定的值D、68【参考答案】错误B【学生答案】D已定义char a[10];和char *p=a;,下面的赋值语句中正确的是( ).A、p="Turbo c";B、a="Turbo c";C、*p="Turbo c";D、a[10]="Turbo c";【参考答案】错误A【学生答案】C设有如下程序,请选择正确答案( )。
#include <>main(){int **k,*j,i=100;j=&i, k=&j;printf("%d\n",**k);}A、运行错误B、100C、i的地址D、j的地址【参考答案】正确B【学生答案】B以下叙述正确的是()。
A、可以把if定义为用户标识符,但不能把define定义为用户标识符B、define和if都不能定义为用户标识符C、可以把define定义为用户标识符,但不能把if定义为用户标识符D、可以把define和if定义为用户标识符【参考答案】正确C【学生答案】C关于建立函数的目的,以下正确的说法是()。
C语言程序设计试卷1
《C语言》考试试卷I一、单选题:(每小题2分,共40分)1、在C语言中,正确的int类型的常数是()A、32768;B、0x5g ;C、038;D、12 ;2、下列常数中不能作为C的常量的是()A、0xa5B、2.5e-5C、3e2D、05823、在C语言中,若一个i nt型数据在内存中占2个字节,则unsi gned int 型数据的取值范围是()A、0~25B、0~65535C、0~32767D、-32768~327674、以下说法中正确的是()A、C语言程序总是从第一个定义的函数开始执行。
B、C语言程序总是从main()函数开始执行。
C、C语言程序中的main()函数必须放在程序的开始部分。
D、一个C函数中只允许一对花括号。
5、C语言中用语结构化程序设计的三种基本结构是()A、顺序结构、选择结构、循环结构;B、if ,switch ,break ;C、for ,while ,d o—while;D、if ,for ,continue ;6、对C语言中标识符,下列说法正确的是()A、标识符中的第一个字母必须是字母。
B、标识符中的第一个字母必须是下划线。
C、标识符的前两个字母必须是字母和下划线。
D、标识符中的第一个字母必须是字母或下划线。
7、已知int i;float f;正确的语句是()A、(int f)% iB、int (f% i )C、int (f % i)D、(int)f % i8、以下错误的转义字符是()A、'\\'B、' \'C、' \81'D、' \0 '9、以下正确的描述是( )A、只能在循环体内和switch语句体内使用break语句。
B、在循环体内使用break语句或continue语句的作用相同。
C、continue语句的作用是结束整个循环的执行。
.D、break语句能够一次从多层循环嵌套中退出。
10、C语言对嵌套if语句的规定是:else总是与()A、其之前最近的if配对B、第一个if配对C、缩进位置相同的if配对D、其之前最近的且尚未配对同一层内的if配对11、在定义int a[5][6];后,第10个元素是()A、a[2][5]B、a[2][4]C、a[1][3]D、a[1][5]12、以下不正确的定义语句是()A、double x[5]={2.0 , 4.0 , 6.0 , 8.0 , 10.0 };B、int y[5]={0 , 1 , 3 , 5 , 7 , 9 };C、char c1[ ]={ '1' , '2', '3' , '4' , '5' };D、char c2[ ]={'\x10' , '\xa' , '\x8' };13、下面()是错误的if语句(设int x,a,b;)A、if(a=b)x++;B、if(a=<b)x++;C、if(a-b)x++;D、if(x)x++;14、能正确表示a和b同时为正或同时为负的逻辑表达式是( )A、(a>=0‖b>=0)&&(a<0‖b<0)B、(a>=0&&b>=0)&&(a<0&&b<0)C、(a+b>0)&&(a+b<=0)D、(a>0&&b>0)||(a<0&&b<0)15、下面有关for循环的正确描述是:()A、for循环只能用于循环次数已经确定的情况。
五套四川师范大学的C语言试题1
{ for(j=1;j<6;j++)
printf("%2d",a[i][j]);
printf("\n");
}
}
程序运行的结果是:
3. main()
{int x,y;
for (x=1,y=1;y<50;y++)
{if (x>=10) break;
if (x%2==1)
{x+=5;continue;}
a=1; +; }
while (b--<0);
A. 9 B.-2 C. -1 D. 8
5.下面程序的输出是。
main()
{int x=10,y=3;
printf("%d\n",y=x/y);}
A. 0 B.1 C. 3 D.不确定的值
6.设P1和P2是指向同一个int型一维数组的指针变量, k为int型变量,则不能正确执行的语句是。
rev(m+1,n-2);
}
}
main()
{
int i;
rev(a,7);
for(i=0;i<10;i++)
printf("%d",a[i]);
}
程序运行的结果是:
四、编写程序(按步骤给分)。
1.试编程:利用循环语句按列顺序为一个5×5的二维数组A赋值为l到25的自然数,然后计算数组A两个对角线上的元素之和,并输出该数组的左下三角。
9.不能把字符串:Hello!赋给数组b的语句是。
A. char b[10]={'H','e','l','l','o','!'};B. char b[10];b="Hello!";
下列关于C语言用户标识符的叙述中正确的是______
C语言试题(一)1.下列关于C语言用户标识符的叙述中正确的是______。
A. 用户标识符中可以出现下划线和中划线(减号)B. 用户标识符中不可以出现中划线,但可以出现下划线C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D. 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2.以下叙述不正确的是A. 一个C源程序可由一个或多个函数组成B. 一个C源程序必须包含一个main函数C. C程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面3.下面能正确进行字符串赋值操作的语句是A.char s[5]={"ABCDE"};B.chars[5]={'A','B','C','D','E'};C.char *s;s="ABCDEF";D.char *s; scanf("%s",s);4.下列叙述中正确的是A. C语言编译时不检查语法B. C语言的子程序有过程和函数两种C. C语言的函数可以嵌套定义D. C语言的函数可以嵌套调用5.以下程序输出的结果是____。
main( ){ float a=5,b=4,d;d=(a>b);printf("%d\n",d);}A. 1B. 0C. 1.0D. 46.设int a=5,b=6,表达式(b--==6)?++a:--b的值是___A. 5B. 6C. 7D. 47.设i,j,k均为int型变量,则执行完下面的for语句后,k的值为___ 。
for(i=0, j=10; j>=i; i++, j--)k=i+j;A. 10B. 20C. 8D. 08.能正确表示逻辑关系:"1≤a≤9"的C语言表达式是A. a>=1 or a<=9B. a>=1且a<=9C. a>=1&&a<=9D. 1≤a≤99.有以下程序main(){int i=0,k=2;if(++i)printf("%d",k);else printf("%d",-k)}执行后输出结果是A. -2B. 2C. 0D. 110.执行下面的程序段后,变量k中的值为int k=3, s[2];s[1]=k; k=s[1]*10;A.不定值 B.33 C.30 D.10 11.若有以下说明和语句,则输出结果是______。
c语言试题1有答案
一、单项选择题(每题2分,15小题,共30分)1.C语言源程序是由组成的。
A) 过程B) 函数C) 子程序D) 主程序和子程序2.一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是。
A) 有零个或多个输入B) 有零个或多个输出C) 有穷性D) 可行性3.以下选项中合法的C语言标识符是。
A) long B) _2Test C) 3Dmax D) A.dat4.下列转义字符中错误的是。
A) '\000'B) '\14'C) '\x111'D) '\2'5.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,是正确的。
A) 语法错误B) f为5.0C) f为0.0D) f为2.06.若变量a,b已经正确定义并赋值,符合C语言语法的表达式是。
A) a2+b B) a*a+b C) a×a+b D) a·a+b7.有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c 的值为2,则正确的数据输入方式是。
A) 132↙B) 1,3,2↙C) a=1b=3c=2↙D) a=1,b=3,c=2↙8.若 w=1,x=2,y=3,z=4,则条件表达式w<x ?w : y<z ?y : z的值是。
A) 4B) 3C) 2D) 19.设int a=0,b=0,m=0,n=0;则执行(m = a==b)||(n = b==a)后m和n的值分别是。
A) 0,0 B) 0,1 C) 1,0 D) 1,110.以下for循环的执行次数是。
for (x=0,y=0; (y=123)&&(x<4);x++) ;A) 无限循环B) 循环次数不定C) 4次D) 3次11.下面程序段的输出结果是。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安徽大学20 -20 学年第学期《C语言程序设计》期末考试试卷(B卷120分钟)年级院系专业姓名学号座位号题号一二三四五六七八得分得分得分一. 单项选择题:(每题2分,共20分)下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。
答在试卷上不得分。
1.执行程序: int a; printf("%d \n", (a=3*5, a*4, a+5) );后,a的值是______。
A)60 B)20 C)15 D)102.程序段:int x=023; printf("%d \n", --x );的输出是______。
A)19 B)18 C)23 D)22 3.程序段:static char s[10]={'C','h','i','n','a'}; printf("%d\n",strlen(s));的输出是______。
A)6 B)5 C)11 D)10 4.若fun( int x) { printf(“%d\n”,x);}, 则fun_______。
A)返回值为void 类型B)返回值类型无法确定C)返回值为int 类型D)没有返回值5. 有宏定义:#define MULT1(a,b) a*b#define MULT2(a,b) (a)*(b)且引用宏:y=MULT1(3+2,5+8); z=MULT2(3+2,5+8); 则y和z的值是______。
A)y=65,z=65 B)y=21,z=65 C)y=65,z=21 D)y=21,z=216.程序段char s[]="Hello", *p; p=s;执行后,*(p+5)的值是______。
A)'o' B)'\0' C)'o'的地址D)不确定的值7. 程序段:char *s=”ABCD”, *p; for( p=s; *p ; p++) printf("%s\n", p);的输出是______。
A)ABCD B)A C)D D)ABCDBCD B C ABCCD C B ABD D A A8. 若定义:int (*p)[3]; 则标识符p______。
A)定义不合法。
B)是一个指针数组名,每个元素是一个指向整型变量的指针。
C)是一个指针,它指向一个具有三个元素的一维数组。
D)是一个指向整型变量的指针。
9. 定义: struct sk {int a; float b;} data,*p; 且p=&data; 则正确引用成员a的方式是______。
A) p.data.a B) (*p).a C) p->data.a D) (*p).data.a10. 以二进制只读方式打开一个已有的文本文件file1,正确调用fopen函数的方式是______。
A)FILE *fp; B)FILE *fp;fp=fopen("file1","rb"); fp=fopen("file1","r+");C)FILE *fp; D)FILE *fp;fp=fopen("file1","r"); fp=fopen("file1","rb+");得分二. 填空题:(每空1分,共20分)请将正确答案填在答题卡相应题目的横线上。
答在试卷上不得分。
1.C程序一个函数的定义由__________和____________两部分组成。
2.C语言的整型变量可分为基本型、短整型、________和________。
3.C语言在判断一个量是否为“真”时,以____代表“假”,以____代表“真”。
4.C语言中的break语句只能用于______和______语句。
5.对________和________型数组不赋初值,系统会对所有元素自动赋以0值。
6.C语言中“文件包含”是通过____________命令完成的,而符号常量是通过____________命令定义的。
7.对于数组x[5][5],*(x+2)+3表示__________,*(x[3]+2)表示__________。
8.若定义:struct {int y, m, d;} today, *pdata; 则为today分配内存____ 字节,为pdata分配内存____ 字节。
9.C语言文件按数据的存放形式可分为________文件和_________文件。
10.C语言文件是一个________序列,这类文件称为_________文件。
得分三. 程序归纳题(每题2分,共10分)阅读下列函数,总结其主要功能填在答题卡相应的横线上。
答在试卷上不得分。
1. int fun1 (char *str){ char *ptr=str;while(*ptr++); return ptr-str-1; }2. double fun2(double x, double y, double z){return x>(y>z?y:z)?x:(y>z?y:z); }3. void funs3( int num[], int size ){ int i=0, tmp;while( i<size/2 ) tmp=num[i],num[i]=num[size-i-1],num[size-i-1]=tmp,i++;}4. void fun4(char *f, char *t){ for(;*f!='\0';f++,t++) *t=*f; *t='\0'; }5.void fun5(char *ps) { int a1=0, a2=0;while (*ps!= '\0'){ if (*ps>='a'&&*ps<='z') a1++;else if (*ps>='0'&&*ps<='9') a2++;p++; }printf("%d,%d \n",a1, a2); }得分四. 程序分析题(每题2分,共10分)阅读程序,将其运行结果填在答题卡相应题目的横线上。
答在试卷上不得分。
1. #include "stdio.h"void main() {static int a[]={1,2,3,4,5,6},*p;p=a; *(p+3)+=2;printf("%d,%d\n",*p,*(p+3)); }2. #include "stdio.h"void main() { int x=1;{ int x=2;{ int x=3; printf("%2d",x); }printf("%2d",x); }printf("%2d",x); }3. #include <stdio.h>#include <string.h>void sort( char **str, int n){char *tmp; int i,j;for( i=0; i<n-1; i++ )for( j=0; j<n-i-1; j++ )if(strcmp(str[j],str[j+1])>0)tmp=str[j], str[j]=str[j+1], str[j+1]=tmp; }void main() {char **ps,*str[3]={ "BOOK","COMPUTER","CHINA"};int i;ps=str; sort(ps,3);for(i=0; i<3; i++) printf("%d %s ",i+1, str[i]); }4. #include <stdio.h>int leap_year(int year){return year%4==0 && year%100!=0 || year%400==0; }void main(){int month_day[]={31,28,31,30,31,30,31,31,30,31,30,31 }, days,i;struct date {int year;int month;int day;}mdate={2008,5,1};if(leap_year(mdate.year))month_day[1]++;for(i=1,days=mdate.day;i<mdate.month;i++)days+=month_day[i-1];printf("%d-%d is the %dth day in %d",mdate.month,mdate.day,days,mdate.year); }5. #include <stdio.h>void add( int *x, int *y, int n){while(n--) *x++ += *y++; }void main(){int i=5; static int s1[]={2, 1, 0, 3, 2}, s2[5];add(s2, s1, 5);while(i--) printf("%2d", s2[i]); }得分五. 程序设计题(每题10分,共40分)阅读下列程序,在指定位置上填入适当的内容使程序完整。
请勿改动其它内容。
请将正确答案填在答题卡上。
答在试卷上不得分。
1.函数insert将一个指定的单精度数按递减规律插入数组num中,注:数组num中已有12个按照递减顺序排好序的单精度数。
void insert( float num[13], float new ){ int i=11;/***answer begin***/……/***answer end***/ }2.编写函数mycmp实现库函数strcmp的功能:两个字符串的比较。
int mycmp(char *p1,char *p2){ /***answer begin***/……/***answer end***/ }3.设有三个候选人,每次输入一个得票的候选人的名字,要求最后输出各人得票结果。