C语言题库(1).docx

合集下载

(完整word)C语言考试试题.

(完整word)C语言考试试题.
A.int max(x,y);B.static char c;C.#define PI 3。141592D.#define S 345
24.C语言中要求对变量作强制定义的主要理由是(B)
A.便于编辑预处理程序的处理B。便于确定类型和分配空间
C.便于移植D.便于写文件
25。以下数据中,不正确的数值或字符常量是(A)
25.若有定义:char s[]= ”turboC ";则Turbo C系统为数组s开辟【7】个字节的内存单元
二、判断共10题(共计20分)
1.inti,*p=&i;是正确的C说明(√)
2。若有说明intc;则while(c=getchar());是正确的C语句(√)
3。共同体变量所占的内存长度等于最长的成员长度(√)
23.当a=5,b=7,c=8时,执行以下程序段后c=【5】
if(a〈c) b=a;
a=c;
c=b;
24.已知a=5,写出表达式(0<a)‖(a〈2)的值是【1】
25。在TC2。0中,有以下结构类型说明和变量定义,则变量a在内存所占字节数是【22】
Strut stud
{char num[6];
int s [4];
4.charc[]=”Very Good”;是一个合法的为字符串数组赋值的语句(√)
5.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量(√)
6。整数—32100可以赋值给int型和longint型变量(√)
7.如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准(√)
for(i=0;i〈=2;i++)printf(“YES");printf(“\n”);

C语言程序设计(第三版)习题库(1)

C语言程序设计(第三版)习题库(1)

C 语言程序设计(第三版)习题库1、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。

请编程序。

#include <stdio.h>main(){float r,h,C1,Sa,Sb,Va,Vb;scanf(“%f ”,&r);scanf(”%f ”,&h );;C1=2*3.14*r;Sa=3.14*r*r;Sb=4*Sa;Va=4*3.14*r*r*r/3;Vb=Sa*h;printf(“周长=%.2f ,面积=%2f,表面积=%.2f,圆球体积=%.2f,圆柱体积=.2f,C1,Sa,Sb,Va,Vb );}2、输入一个华氏温度,要求输出摄氏温度。

公式为 c=5(F-32)/9输出要求有文字说明,取位2小数。

#include <stdio.h>main(){float F,c;scanf("%f",&F);c=5*(F-32)/9;printf("c=%.2f",c);}3、有一函数:⎪⎩⎪⎨⎧≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。

#include <stdio.h>main(){int x,y;printf("输入x :");scanf("%d",&x);if(x<1) { /* x<1 */y=x;printf("x=%3d, y=x=%d\n",x,y);} else if (1<=x-10){ /* 1≤x -10 */ 或x<10y=2*x-1;printf("x=%3d, y=2*x-1=%d\n",x,y);} else{ /* x≥10 */y=3*x-11;printf("x=%3d, y=3*x-11=%d\n",x,y);}}4、给定一个不多于5位的正整数,要求:①求它是几位数;②按逆序打印出各位数字。

(完整版)C语言题库(带详解答案)

(完整版)C语言题库(带详解答案)

(完整版)C语⾔题库(带详解答案)⼀单项选择题1.(A)是构成C语⾔程序的基本单位。

A、函数B、过程C、⼦程序D、⼦例程2.C语⾔程序从 C开始执⾏。

A) 程序中第⼀条可执⾏语句 B) 程序中第⼀个函数C) 程序中的main函数 D) 包含⽂件中的第⼀个函数3、以下说法中正确的是(C)。

A、C语⾔程序总是从第⼀个定义的函数开始执⾏B、在C语⾔程序中,要调⽤的函数必须在main( )函数中定义C、C语⾔程序总是从main( )函数开始执⾏D、C语⾔程序中的main( )函数必须放在程序的开始部分4.下列关于C语⾔的说法错误的是(B)。

A) C程序的⼯作过程是编辑、编译、连接、运⾏B) C语⾔不区分⼤⼩写。

C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执⾏5.下列正确的标识符是(C)。

A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满⾜(1);选项D中的int为关键字,不满⾜(3)6.下列C语⾔⽤户标识符中合法的是( B)。

A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满⾜(2);选项C,E均为为关键字,不满⾜(3);选项D中的“-”不满⾜(1);7.下列四组选项中,正确的C语⾔标识符是(C)。

A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满⾜(1);选项D中的标识符以数字开头不满⾜(2)8、下列四组字符串中都可以⽤作C语⾔程序中的标识符的是(A)。

A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满⾜(1);选项C中的while 为关键字,不满⾜(3)9.C语⾔中的简单数据类型包括(D)。

C语言精编100题(C语言考试题库) ( 1 )

C语言精编100题(C语言考试题库) ( 1 )

C语言精编100题一、单选题1.由C语言编写的代码程序( )A. 可直接执行B. 是一个源程序C. 经过编译即可执行D. 经过编译解释才能执行2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )A. 大写字母B. 中划线C. 数字字符D. 下划线3.下列选项中,不能用作标识符的是( )A. _1234_B. _1_2C. int_2_D. 2_int_4.以下选项中合法的用户标识符是( )A. longB. _2TestC. 3DmaxD. A.dat5.以下不能定义为用户标识符的是( )A. MainB. _0C. _intD. sizeof6.下列定义变量的语句错误的是( )A. int _int;B. double int_;C. char For;D. float US$;7.在C语言中,合法的实型常数是( )A. 5E2.0B. E-3C. 2E0D. 1.3E8.在C语言中,合法的实型常数是( )A. 1.2E0.5B. 3.14159EC. 5E-3D. E159.以下选项中,不能作为合法常量的是( )A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e010.以下不合法的数值常量是( )A. 011B. le1C. 8.0E0.5D. 0xabcd11.在C语言中,非法的字符常量是( )A.‘\t’B.‘\17’C. "\n"D.‘\xaa’12.以下不合法的字符常量是( )A.‘\018’B.‘\"’C.‘\\’D.‘\xcc’13.下列运算符中优先级最高的运算符是( )( )A. <=B. =C. %D. &&A. ==B. /C. =D. >=14.以下程序的输出结果是( )main(){ int a=3,b=4;printf("%d\n",a<=b);}A. 3B. 4C. 1D. 015.在C语言中,以下非法的表达式是( )A. 0<=x<=100B. i=j==0C. (char)(65+3)D. x+1=x+116.在C语言中,以下非法的赋值语句是( )A. j++;B. ++(i+1);C. x=j>0;D. k=i==j;17.表达式3.6-5/2+1.2+5%2的值是( )A. 4.3B. 4.8C. 3.3D. 3.818.设有语句:int a=3;则执行了语句a+=a-=a*a;变量a的值是( )A. 3B. 0C. 9D. -1219.设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( )A. 10B. 20C. 40D. 3020.以下程序的输出结果是( )( )( )( )( )⑴ main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}A. 9,2B. 10,2C. 9,1D. 10,1⑵ main(){ int a=12,b=12;printf("%d %d\n" ,--a,++b);}A. 10 10B. 12 12C. 11 10D. 11 13⑶ main(){ int x=023;printf("%d\n",--x);}A. 17B. 18C. 23D. 24⑷ main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A. 10 10B. 9 9C. 9 10D. 10 9⑸ main(){ int i=010,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 010,9D. 10,921.以下程序的输出结果是( )main(){ int x=100,y=200;printf("%d\n",(x,y)); }A. 200B. 100C. 100 200 D)200 10022.以下程序的输出结果是( )main(){ int x=10,y=3,z;printf("%d\n",z=(x%y,x/y));}A. 1B. 0C. 4D. 323.int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )A. k++B. k+=1C. ++kD. k+124.以下程序的输出结果是( )main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z); }A. 2,3,3B. 2,3,2C. 2,3,1D. 2,2,125.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )A. 1B. 2C. 3D. 426.设int x=-1;执行表达式++x||++x||++x||++x,x的值是( )A. 0B. 1C. 2D. 427.以下程序的输出结果是(1) main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}()A. k=11,k=12,k=11B. k=11,k=13,k=13C. k=11,k=013,k=0xbD. k=11,k=13,k=b(2) main(){ int k=17; printf("%d,%o,%x\n",k,k,k); }()A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,1128.运行时从键盘上输入9876543210<CR>(<CR>表示回车),则该程序的输出结果是()main(){ int a;float b,c;scanf("%2d%3f%4f\n",&a,&b,&c);printf("a=%d,b=%f,c=%f\n",a,b,c);}A. a=98,b=765,c=4321B. a=10,b=432,c=8765C. a=98,b=765.000000,c=4321.000000D. a=98,b=765.0,c=4321.029.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。

C语言程序设计题库及答案

C语言程序设计题库及答案

第1次客观题作业一、单选题(共30题,每题3分)1 .下面表示正确的是__A___。

A.C语言中的逗号是一种运算符B.在C语言中,一行只能有一个语句C.C中的变量不区分大小写D.c中的关键字可以做为变量名2 .字符型常量在内存中存放的是__A____代码值。

A.ASCII B.二进制C.十进制D.八进制3 .以下不正确的C语言标识符是(C )。

A.AB1 B._ab3 C.4ab D.a2_b4 .以下运算符中优先级最低的运算符是_D____。

A.&& B.& C.|| D.=5 .在C语言中,要求运算数必须是整型的运算符是___A___。

A.% B./ C.< D.!6 . C语言程序的基本单位是__C_____。

A.程序行B.语句C.函数D.字符7 .将高级语言编写的程序翻译成目标程序的是___B____程序。

A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。

A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+19 .下列(A )不属于结构化程序设计的循环结构。

A.For B.While C.if-else D.do-while10 .以下叙述中错误的是__A___。

A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。

A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,712 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。

for (i=3;i>0;i--) for (j=0;j<=4;j++){...}A.12 B.15 C.16 D.2013 .下列选项中,合法的C语言关键字是_D___。

(完整)C语言程序设计试题题库

(完整)C语言程序设计试题题库

第一章基础知识一.填空1.每个C程序都必须有且仅有一个________ 函数。

2。

C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。

3。

软件是程序,以及______、使用和维护所需要的所有文档。

4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。

5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。

6.C语言是由________组成的.7。

C语言的函数可分为主函数main、标准库函数和_________。

8.一个函数是由两部分组成的,即:________和函数体。

9。

编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。

不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________. 11。

机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。

12。

与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。

13。

在编译程序之前,凡以____开头的代码行都先由预处理程序预处理.14. C程序的执行均是由执行_________开始。

15。

函数体即为包含在{ }内的部分.它分为________和为完成功能任务由若干个C语句组成的执行部分。

16.C语言程序中一条简单语句是以________字符作为结束符的。

17.C语言是结构化、________的程序设计语言.18.由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序",将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。

大学c语言试题题库及答案

大学c语言试题题库及答案

大学c语言试题题库及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,正确的是:A. C语言是一种编译型语言B. C语言是一种解释型语言C. C语言是一种面向对象的语言D. C语言不支持函数答案:A2. 在C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. charD. double答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. intD. _int答案:B4. C语言中,用于定义一个浮点型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:B5. 在C语言中,哪个运算符用于取模运算?A. %B. /C. *D. +答案:A6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. =答案:A7. 在C语言中,用于定义一个字符型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:C8. C语言中,用于声明一个函数的关键字是:A. intB. floatC. voidD. return答案:C9. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. while答案:C10. 在C语言中,用于定义一个字符串常量的语法是:A. "Hello"B. 'Hello'C. "Hello"[10]D. 'Hello'[10]答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以连接两个字符串。

答案:+2. C语言中的________关键字用于声明一个无返回值的函数。

C语言试题练习及答案(都是历年的考题)

C语言试题练习及答案(都是历年的考题)

C语言试题练习及答案(都是历年的考题)第一部分:选择题(40分,20小题/套)概述1、下面关于C语言的叙述中,正确的是()A. 每行只能写一条语句B. 程序中必须包含有输入语句C. main函数必须位于文件的开头D. 每条语句最后必须有一个分号 2、下面关于C语言的叙述中,错误的是() A. 若一条语句较长,也可分写在下一行上 B. 构成C语言源程序的基本单位是表达式 C. C语言源程序中大、小写字母是有区别的 D. 一个C语言源程序可由一个或多个函数组成 3、关于C语言数据类型的叙述,正确的是()A. 枚举类型不是基本类型B. 数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型 4、C程序中main函数的位置()A. 必须在最开始B. 必须在系统库函数后面C. 可以在自定义函数后面D. 必须在最后 5、C语言的函数体由()括起来A. ( )B. { }C. [ ]D. /* */6、关于C语言的叙述中,不正确的是()A. C程序可由一个或多个函数组成B. C程序必须包含一个main()函数C. C程序的基本组成单位是函数D. 注释说明只能位于一条语句的后面 7、一个程序的执行是从()A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到main函数结束C. 本程序的main函数开始,到最后一个函数结束D. 本程序的第一个函数开始,到main函数结束 8、结构化程序设计的三种基本结构是()A. 函数结构、分支结构、判断结构B. 函数结构、嵌套结构、平行结构C. 顺序结构、分支结构、循环结构D. 分支结构、循环结构、嵌套结构 9、调试程序是指对程序进行()A. 编辑B. 编译C. 查错和排错D. 连接10、C语言中,复合语句的构成是将一系列语句置于() A. begin与end之间B. 一对圆括号“()”之间C. 一对花括号“{ }”之间D. 一对方括号“[ ]”之间 11、构成C语言源程序的基本单位是() A. 语句 B. 过程 C. 表达式 D. 函数语法基础12、在C语言中,正确的用户标识符是() A. 3f B. _for C. structD. _f.5113、C语言的基本数据类型包括()A. 整型、实型、字符型B. 整型、实型、字符型、逻辑型C. 整型、字符型、逻辑型 D. 整型、实型、逻辑型 14、以下()是正确的常量A. E-5B. 1E5.1C. ?a12?D. 32766L 15、以下()是正确的变量名A. a.beeB. �Cp11C. intD. p_11 16、以下()是正确的字符常量A. “c”B. ?//”C. ?W?D. “\\32a” 17、以下()是不正确的字符串常量A. ?abc?B. “12?12”C. “0”D. “ “ 18、C语言的整型数据在内存中的存储形式是() A. 原码 B. 反码 C. 补码 D. ASCII码19、以下()是正确的浮点数A. e3B. .62C. 2e4.5D. 123 20、下列不属于C语言关键字的是()A. continueB. integerC. staticD. signed 21、C语言的字符型数据在内存中的存储形式是() A. 原码 B. 补码 C. 反码 D.ASCII 22、在C语言中,变量所分配的内存空间大小是() A. 由变量的类型决定B. 由用户自己决定C. 任意的D. 均为两个字节23、若有定义:int a=2;则正确的赋值表达式是()A. a-=(a*3)B. double(-1)C. a*3D. a*4=3 24、语句x=(a=3,b=++a);运行后,x、a、b的值依次为() A. 3,3,4 B. 4,4,3 C.4,4,4 D. 3,4,3 25、语句a=(3/4)+3%2;运行后,a的值为() A. 0 B. 1 C. 2 D. 326、以下四项中,符合C语言语法的语句是()A. int a+b=c;B. int a=12:b=12:c=12;C. int a=12,b=12,c=12;D. int a,b=12,float c=2127、若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为() A.3,3 B. 4,4 C. 4,3 D. 3,428、若变量已正确定义并赋值,符合C语言语法的表达式是()A. a=8+b+c,a++B. a=3aC. int(12.3%4)D. a=a+1=c+b 29、若有定义:int a,b;double x;则以下不符合C语言语法的表达式是() A. x%(-3) B. a+=-1 C. a=b=2 D. x=a+b30、若有定义:int x=2,y=3;float i;则以下符合C语言语法的表达式是() A.x=x*3=2 B. x=(y==1) C. i=float(x) D. i%(-3) 31、若有定义:int x;则语句x=(2*3)+6%5;运行后,x的值是()A. 8B. 7C. 6D. 532、下面关于C语言变量的叙述中,错误的是()A. 可以用const关键字定义变量B. 在C程序中,SUM和sum是不同的变量C.变量名必须由字母或下划线组成 D. 变量的类型确定了变量的取值范围233、若有定义:int x=5,y=6;则表达式x=(y= =6)的值为() A. 5 B. 1C. 6D. 0 34、下面叙述正确的是()A. 2/3与2.0/3.0等价B. (int)2.0/3与2/3等价C. ++5与6等价D. ?A?与”A”等价 35、下面叙述中,错误的是()A. C语言基本的算术运算符不包含模运算符”%”B. 算术运算符的优先级高于关系运算符C. 自加和自减运算符的结合方向是”自右向左”D. C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行 36、下面叙述正确的是()A. 强制类型转换运算的优先级高于算术运算B. 若a和b是整型变量,(a+b)++是合法的 C. ?A?*?B?是不合法的 D. “A”+”B”是合法的 37、若有定义:int i=1,j=5;则表达式(++j)*(i--)的值为() A. 1 B. 0 C. 6 D. 738、设整型变量a为5,使b不为2的表达式是()A. b=(++a)/3B. b=6-(--a)C. b=a%2D. b=a/239、若有定义:int a=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为() A. 1B. 0C. 2D. 340、若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是() A. 7 B.8 C. 9 D. 1041、若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是() A. 7 B.8 C. 9 D. 1042、若有定义:int i=2,j=5;则表达式(i+1,j+1,(++i+(j--))的值为() A. 8B. 6C. 7D. 543、若已定义:int i=3,k;则语句k=(i--)+(i--);运行后k的值为() A. 4B. 5C. 6D. 744、C语言的运算符按运算对象的个数可以分为() A. 单目运算符一种 B.单目和双目运算符C. 单目、双目和三目运算符D. 单目、双目、三目和四目运算符45、若已定义:float m;拟从键盘输入135.78这一数据给变量m,则应选用的语句是()A. scanf(“%5.2f”,&m); B. scanf(“%3.2f”,&m);C. scanf(“6.2f”,&m);D. scanf(“o”,&m);46、已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是()A. scanf(“%ld”,&a);B. scanf(“%lf”,&a);C. scanf(“%c”,&a);D. scanf(“%u”,&a);47、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是()A. scanf(“%d”,&a);B. scanf(“%lf”,&a);C. scanf(“%c”,&a);D.scanf(“%u”,&a); 48、putchar()函数的功能是向终端输出()A. 多个字符B. 一个字符C. 一个实型变量值D. 一个整型变量表达式 49、以下程序段运行后的输出结果是() int k=11;printf(“k=%d,k=%o,k=%x\\n”,k,k,k);A. k=11,k=13,k=cB. k=11,k=12,k=133C. k=11,k=13,k=bD. k=11,k=13,k=a50、若有定义:int x=1234,y=123,z=12;则语句printf(“M+=+-”,x,y,z);运行后的输出结果为()A. 123412312B. 12341234123412341231231231212C. 1234+1234+1234D. 1234+123+12 51、已有如下定义和输入语句,int a;char c1,c2;scanf(“%d%c%c”,&a,&c1,&c2);若要求a、c1、c2的值分别为10、A和B,正确的数据输入是() A. 10AB B. 10 A B C. 10A B D. 10 AB 52、以下程序段的运行结果是()int a=0,b=0,c=0; if(a&&++b) c++;printf(“%d,%d\\n”,b,c);A. 0,0B. 1,2C. 2,2D. 1,0 53、以下程序的运行结果是()void main() {int a=65; char c=?A?;printf(“%x,%d”,b,c); }A. 65,aB. 41,aC. 65,65D. 41,6554、若已定义:int a=5;float b=63.72;以下语句中能输出正确值的是() A.printf(“%d%d”,a,b); B. printf(“%d/”,a,b); C. printf(“//”,a,b);D. printf(“/%d”,a,b); 55、运行以下程序段时编译出错,其原因是()char c1='8',c2='2021'; printf(\A. c2是字符变量,只能赋以字符常量,不能赋以字符串常量B. 字符串要用“2021“表示,而‘2021’不是字符串表示 C. ‘2021’只能赋值给字符数组 D. 字符变量不能用%d格式输出56、若已定义:int a=3,b=15,c;则语句c=a>b;运行后c的值为() A. 1 B.0 C. t D. f57、在C语言中,判定逻辑值为“真“的最正确的叙述是() A. 1 B. 非0的数 C. 大于0的数 D. 非0的整数 58、若已定义:int a=-36,b=-30,c;则语句c=a59、能正确表示数学关系式800>=y>=500的C语言表达式为() A. (y<=800)&&(y>=500) B. (y<=800)AND(y>=500) C. 800>=y>=500 D. (y<=800)&(y>=500) 60、若有定义:int x=3,y=4;则表达式!x||y的值为()4A. 1B. 0C. 3D. 4感谢您的阅读,祝您生活愉快。

c语言期末考试练习题1(含答案)

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语言期末考试题库(第一章 c语言基础知识)

C语言期末考试题库(第一章 c语言基础知识)

C语言考研题库(第一章c语言基础知识)一、单项选择1.算术运算符,赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为().A、关系运算,赋值运算,算术运算B、算术运算,关系运算,赋值运算C、算术运算,赋值运算,关系运算D、关系运算,算术运算,赋值运算答案:B2.下述正确的C语言常量是:().A、E2B、3e-3C、1.5E2.5D、5.0E答案:B3.使用共用体变量,不可以().A、进行动态管理B、节省存储空间C、同时访问所有成员D、简化程序设计答案:C4.为表示关系x>=y>=z,应使用C语言表达式为:()A、(x>=y)&(y>=z)B、(x>=y>=z)C、(x>=y)&&(y>=z)D、(x>=y)AND(y>=z)答案:C5.以下程序的输出结果是().main(){char str[]="ABCD",*p=str;printf("%s\n",p);}A、68B、ABCDC、不确定的值D、字符D的地址答案:B6.char a[10];不能将字符串"abc"存储在数组中的是().A、a="abc";B、a[0]=0;strcat(a,"abc");C、int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;D、strcpy(a,"abc");答案:A7.fscanf函数的正确调用形式是().A、fscanf(文件指针,格式字符串,输入表列);B、fscanf(格式字符串,文件指针,输出表列);C、fscanf(fp,格式字符串,输出表列);D、fscanf(格式字符串,输出表列,fp);答案:A8.下列数组说明中正确的是().A、int array[][]={1,2,3,4,5,6,7,8,9,10};B、int array[][][5]={1,2,3,4,5,6,7,8,9,10};C、int array[][4]={1,2,3,4,5,6,7,8,9,10};D、int array[3][]={1,2,3,4,5,6,7,8,9,10};答案:C9.以下选项中,与k=n++完全等价的表达式是().A、n=n+1,k=nB、k+=n+1C、k=++nD、k=n,n=n+1答案:D10.针对下列程序段回答问题().for(t=1;t<=100;t++){scanf("%d",&x);if(x<0)continue;printf("%3d",t);}A、printf函数永远也不执行B、当x<0时整个循环结束C、x>=0时什么也不输出D、最多允许输出100个非负整数答案:D11.以下正确的字符串常量是()A、"\\\"B、'A'C、'abc'D、OlympicGames答案:A12.如下说法不正确的是().A、若a为真b为假,则a||b为真B、若a为真b为假,则a&&b为假C、若a为真b为假,则! a-1&&b为真D、若a为真,则! a为假答案:C13.C语言中,用于结构化程序设计的三种基本结构是().A、for,while ,do-whileB、顺序结构,选择结构,循环结构C、if,switch,breakD、if,for,continue答案:B14.若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是().A、t[3]B、t[2]C、&t[3][2]D、&t[1]答案:B15. 下列运算符中优先级最高的是().A、<B、&&C、+D、!=答案:C16.C语言程序中,必须有的函数是().A、main()B、#include"stdio.h"C、scanfD、printf答案:A17.已定义char a[10];和char *p=a;,下面的赋值语句中正确的是().A、*p="Turbo c";B、p="Turbo c";C、a[10]="Turbo c";D、a="Turbo c";答案:B18.以下叙述正确的是().A、可以把if定义为用户标识符,但不能把define定义为用户标识符B、define和if 都不能定义为用户标识符C、可以把define和if定义为用户标识符D、可以把define定义为用户标识符,但不能把if定义为用户标识符答案:D19.若已定义x为int类型变量,下列语句中,说明指针变量p的正确语句是().A、*p=*x;B、int *p=x;C、int *p=&x;D、int p=&x;答案:C20.以下叙述中,正确的是().A、花括号"{"和"}"只能作为函数体的定界符B、构成C程序的基本单位是函数,所有函数名都可以由用户命名C、分号是C语句之间的分隔符,不是语句的一部分D、C程序中,注释部分可以出现在程序中,任意合适的地方答案:D21.以下能对二维数组a进行正确初始化的语句是().A、int a[][3]={{1,2,3},{4,5,6}};B、int a[2][]={{1,0,1},{5,2,3}};C、int a[2][4]={{1,2,3},{4,5},{6}};D、int a[][3]={{1,0,1}{},{1,1}};答案:A22.C语言中,double 类型数据占().A、8个字节B、4个字节C、2个字节D、1个字节答案:A23.经过下列的语句int j,a[10],*p=a;定义后,下列语句中,合法的是().A、p=a[5];B、p=a[2]+2;C、p=p+2;D、p=&(j+2);答案:C24.定义char s[10],*p=s;,则下面编译不能通过的语句是().A、s=p+s;B、s[2]=p[4];C、p=s+5;D、*p=s[0];答案:A25.以下函数调用语句中,实参的个数是().exce((v1,v2),(v3,v4,v5),v6);A、3B、4C、5D、6答案:A26.若x=2,y=3,则x||y的结果是()A、0B、3C、2D、1答案:D27.已知x=43,ch='A',y=0;,则表达式(x>=y&&ch<'B'&&!y)的值是().A、"假"B、语法错C、0D、128.下面四个选项中均是不合法的浮点数的选项是().A、-e3.234 1e3B、123 2e4.2.e5C、-.18 123e4 0.0D、160.0.12 e3答案:B29.以下函数调用语句中,实参的个数是().fun c((e1,e2),(e3,e4,e5));A、3B、5C、语法错误D、2答案:D30.已定义:float x=1.25,y=3.37;根据下面的输出结果,正确的输出语句是().y+x=4.62,y-x=2.12A、printf("y+x=%4.2f,y-x=%4.2f\n",y+x,y-x);B、printf("y+x=%f,y-x=%f\n",y+x,y-x);C、printf("y+x=%6f,y=%6f\n",y+x,y-x);D、printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x);答案:A31.执行下面程序段后,ch的值是().char ch='a';ch=(ch>='A'&&ch<='Z')?(ch+32):ch;A、AB、zC、ZD、a32.在C语言的函数中,下列正确的说法是().A、数组名不能作形参B、可以有也可以没有形参C、形参必须是变量名D、必须有形参答案:B33.以下正确的描述是().A、在循环中,break语句不能独立出现B、只能用continue语句来终止本次循环C、goto语句只能用于退出多层循环D、switch语句中,不能出现continue语句答案:B34.C语言中,运算对象必须是整型的运算符是().A、〈=B、%=C、=D、/答案:B35.下面不正确的字符串常量是().A、"0"B、""C、"12'12"D、'abc'答案:D36. fwrite函数的一般调用形式是().A、fwrite(buffer,count,size,fp);B、fwrite(fp,count,size,buffer);C、fwrite(fp,size,count,buffer);D、fwrite(buffer,size,count,fp);答案:D37.以下定义语句中错误的是().A、int a[]={1,2};B、int n=5,a[n];C、char *a[3];D、char s[10]="test";答案:B38.下列正确的标识符是().A、%yB、a+bC、6aD、_do答案:D39.C语言源程序的基本单位是().A、子程序B、过程C、标识符D、函数答案:D40. 若变量已正确定义,执行语句scanf("%d,%d,%d",&k1,&k2,&k3);时, ()是正确的输入A、20 30 40B、2030,40C、20,30,40D、20,30 40答案:C41.设有如下程序,请选择正确答案().#include<stdio.h>main(){int **k,*j,i=100;j=&i,k=&j;printf("%d\n",**k);}A、100B、i的地址C、j的地址D、运行错误答案:A42.若定义:int a=511,*b=&a;,则printf("%d\n",*b);的输出结果为().A、a的地址B、无确定值C、511D、512答案:C43.以下叙述中,不正确的是().A、C程序中的#include和#define 均不是C语句B、在C程序中,赋值运算符的优先级最低C、在C程序中,j++;是一条赋值语句D、一个好的程序应该有详尽的注释答案:B44.下面叙述中错误的是().A、若一个函数没有return语句,则什么值也不会返回B、一般来说,函数的形参和实参的类型要一致C、函数的形式参数,在函数未被调用时就不被分配存储空间D、若函数的定义出现在主调函数之前,则可以不必再加说明答案:A45.设有如下程序段:int k=10;while(k==0)k--;,则下述说明中正确的是().A、循环体执行一次B、死循环C、循环体一次也不执行D、循环体执行10次答案:C46.表示关系x>0且y<=10的C语言表达式为().A、(x<=0)AND(y<=10)B、(x>0)&&(y<=10)C、x>0,y<=10D、(x<=0)&(y<=10)答案:B47.以下叙述不正确的是().A、C程序的基本组成单位是函数B、在C程序中,注释说明只能位于一条语句的后面C、一个C源程序可由一个或多个函数组成D、一个C源程序必须包含一个main()函数答案:B48.C语言提供的合法的数据类型关键字是().A、floatB、unsignedC、charD、int eger答案:B49.所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:().A、6B、7C、8D、2答案:C50.以下符合C语言语法的赋值表达式是().A、d=9+e+f=d+9B、d=9+e,e++,d+9C、d=9+eD、d=9+e++=d+7答案:C51.下面对函数的叙述,正确的是().A、函数中无论是否有return语句,都能返回正确值B、函数中没有return语句,说明不带回值C、函数不能嵌套定义D、函数的返回值是通过return语句获得的答案:C52.整型变量x=1,y=3,经下列计算后,x的值不等于6的是().A、x=(x=1+2,x*2)B、x=9-(--y)-(--y)C、x=y*4/2D、x=y>2?6:5答案:B53.设x,y,z,t均为整型变量,则执行以下语句后,t的值为:() x=y=z=1;t=++x||++y&&++z;A、1B、不定值C、2D、0答案:A54.下列字符序列中不可用作C语言标识符的是().A、a_1B、#abC、symbolD、b70答案:B55.C语言执行程序的开始执行点是().A、包含文件中的第一个函数B、程序中,第一个函数C、程序中的main()函数D、程序中,第一条可以执行语言答案:C56.下列运算符优先级最低的是().A、&&B、+C、=D、!答案:C57.下面所列的语句行中能正确进行赋字符串操作的语句行是().A、char st[4][5]={"ABCDE"};B、char s[5]={'A','B','C','D','E'};C、char *s;scanf("%c",s);D、char *s;s="ABCDE";答案:D58.以下正确的函数定义形式是().A、double fun(int x,int y)B、double fun(int x;int y)C、double fun(int x,y);D、double fun(int x,int y);答案:A59.下列变量中合法的是().A、$ABCB、B.C.TomC、3a6bD、_6a7b答案:D60.以下标识符中可以作为用户函数名的是().A、unionB、intC、structD、go_to答案:D61.判断两个字符串是否相等,正确的表达方式是().A、while(strcmp(s1,s2)=0)B、while(strcmp(s1,s2)==0)C、while(s1==s2)D、while(s1=s2)答案:B62.下面各语句中能正确进行赋字符串操作的语句是().A、char st[][]={"ABCDE"};B、char s2[6]={'A','B','C','D','E'};C、char s1[5][]={"ABCDE"};D、char s[5]={'A','B','C','D','E'};答案:B63.下列数据中属于"字符串常量"的是().A、'ABC'B、ABCC、"ABC"D、'A'答案:C64.C语言中的文件的存储方式有().A、可以顺序存取,也可随机存取B、只能随机存取(或直接存取)C、只能顺序存取D、只能从文件的开头进行存取答案:A65.putchar函数可以向终端输出一个().A、字符或字符型变量值B、整型变量表达式值C、实型变量值D、字符串答案:A66.下面叙述中正确的是().A、声明函数时必须明确其参数类型和返回类型B、函数可以返回一个值,也可以什么值也不返回C、空函数在不完成任何操作,所以在程序设计中没有用处D、对于用户自己定义的函数,在使用前必须加以声明答案:B67.以下标识符中不能作为合法的C用户定义标识符的是().A、_123B、voidC、ifD、a3_b3答案:B68.将字符串Turbo赋给字符数组word,则下面错误的说明语句是().A、char word[]={"Turbo\0"};B、char word[]="Turbo\0";C、char word[]={'T','u','r','b','o','\0'};D、char word[]='Turbo\0';答案:D69.用下面的scanf函数输入数据,使得i=10,j=15,选择正确的键盘输入方法:().(用[CR]表示回车)main(){int i,j;scanf("i=%d,j=%d",&i,&j);}A、i=10,j=15[CR]B、i=10Uj=15[CR]C、10U15[CR]D、10,15[CR]答案:A70.跳过当前循环体内容,继续执行下一次循环的语句是()A、continue语句B、return语句C、break语句D、空语句答案:A71.设有以下定义:int a[10]={1,2,3,4,5,6,7,8,9,10};int *p=a;,则数值为6的表达式是().A、p+5B、*p+6C、*p+=5D、*(p+6)答案:C72.以下程序段执行后输出的结果是().char str[]="ABCD",*p=str;printf("%d\n",*(p+4));A、不确定的值B、字符'D'的地址C、68D、0答案:D73.用下面的scanf函数输入数据,使得i=10,k=15选择正确的键盘输入方法().(用"[CR]"表示回车,U表示空格)main(){int i,k;scanf("i=%d,k=%d",&i,&k);}A、10U15[CR]B、i=10,k=15[CR]C、i=10[CR]k=15[CR]D、10,15[CR]答案:B74.设有如下的程序段:char str[]="Hello";char *ptr;ptr=str;执行完上面的程序段后,*(ptr+5)的值为().A、'\0'B、'o'C、'o'的地址D、不确定的值答案:A75.定义int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;,其中,0≤i≤9,则对a数组元素的引用不正确的是().A、a[p-a]B、*(&a[i])C、p[i]D、*(*(a+i))答案:D76.以下字符中,不是转义字符的是().A、'\b'B、'\\'C、'\c'D、'\a'答案:C77.设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:()A、10<a<15B、!(a<=10)&&!(a>=15)C、a>10&&a<15D、a==11||a==12||a==13||a==14答案:A78.在C语言中,存储类型为()的变量只在使用它们时才占用存储空间.A、static 和autoB、register和autoC、register和externD、static 和register答案:B79.已知键盘输入a=4,b=3,下面程序输出的结果是().main(){int a,b,s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;s=s*s;printf("%d\n",s);}A、13B、9C、16D、15答案:C80.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是().A、"ab"B、"wb+"C、"rb+"D、"ab++"答案:B81.设有如下说明和语句,请选出哪个是对c数组元素的正确引用(). int c[4][5],(*cp)[5];cp=c;A、*(*cp+2)B、*(cp+3)C、cp+1D、*(cp+1)+3答案:A82.以下标识符中不能作为合法的C用户定义标识符的是().A、forB、printfC、sizeofD、WORD答案:C83.在定义构造数据类型时,不能().A、末尾不写分号B、说明变量C、初始化D、说明存储类型答案:A84.以下叙述中,错误的是().A、用户所定义的标识符应尽量做到"见名知意"B、用户所定义的标识符必须以字母或下划线开头C、用户所定义的标识符允许使用关键字D、用户定义的标识符中,大,小写字母代表不同标识答案:C85.选择正确的输入语句().:(其中:char string[20];)使得string的内容为"I am student".A、scanf("%s",string);B、scanf("%c",&string);C、scanf("%s",&string);D、gets(string);答案:D86.以下选项中,合法的实型常数是().A、.2E0B、1.3EC、E-3D、5E2.0答案:A87.若int a=2,则执行完表达式a -=a+=a*a后,a的值是().A、-4B、0C、-8D、-2答案:B88.设a,b和c都是int型变量,且a=3,b=4,c=5,下面表达式中值为0的表达式是().A、a<=bB、'a'&&'b'C、!((a<b)&&!c||1)D、a||b+a&&b-c答案:C89.定义char b[5],*p=b;,则能正确赋值的语句是().A、*p="abcd";B、p="abcd";C、*b="abcd";D、b="abcd";答案:B90.能正确表示a>=10或a<=0的关系表达式是:()A、a>=10||a<=0B、A>=10 or a<=0C、a>=10&a<=0D、a>=10|a<=0答案:A91.设有如下定义:struct sk{int a;float b;}data,*p;若要使p指向data中的a域,正确的赋值语句是().A、p=(struct sk*)data.a;B、p=&data.a;C、*p=data.a;D、p=(struct sk*)&data.a;答案:D92.若变量已正确定义且k 的值是4,计算表达式(j=4,k--)后,j和k的值为().A、j=3,k=3B、j=3,k=4C、j=4,k=4D、j=4,k=3答案:D93.当说明一个结构体变量时系统分配给它的内存是().A、结构中,第一个成员所需内存量B、成员中,占内存量最大者所需的容量C、结构中,最后一个成员所需内存量D、各成员所需内存量的总和答案:D94.int(*p)[6];它的含义为().A、具有6个元素的一维数组B、定义了一个指向具有6个元素的一维数组的指针变量C、指向整型指针变量D、指向6个整数中的一个的地址答案:B95.若有说明语句:char c='\72';,则变量c().A、包含1个字符B、说明不合法,c的值不确定C、包含2个字符D、包含3个字符答案:A96.以下表述中正确的是().A、do-while 循环中while 语句不能省略B、在do-while 循环中while 表达式的值不能为"假"C、除了for 循环,其他循环中都不能使用复合语句D、do-while 循环中while(表达式)后面不能加分号答案:A97.能正确表示a和b同时为正或同时为负的逻辑表达式是:()A、(a+b>0)&&(a+b<=0)B、(a>=0||b>=0)&&(a<0||b<0)C、a*b>0D、(a>=0&&b>=0)&&(a<0&&b<0)答案:C98.下面错误的说明语句是().A、int(*a)[10];B、int a[][];C、int a['a'];D、int *a[10];答案:B99.已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是().A、65,66B、A,BC、A,68D、65,68答案:A100. 在C语言中,要求参加运算的数必须是整数的运算符是:().A、/B、!C、==D、%答案:D101.已定义:float x=1.25,y=3.37;根据下面的输出结果,正确的输出语句是().x=1.250000,y=3.370000A、printf("x=%f,y=%f\n",x,y);B、printf("x=%8.2f,y=%8.2f",x,y);C、printf("x=%7f,y=%7f\n",x,y);D、printf("x=%-8.2f,y=%-8.2f\n",x,y);答案:A102.应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为().A、fread()B、fwriteC、fclose()D、close()答案:C103.若有以下说明,则对结构体变量stud1中成员age的不正确引用是(). struct student{int age;int num;}stud1,*p;p=&stud1;A、(*p).ageB、student.ageC、p->ageD、stud1.age答案:B104.C语言中,以下几种运算符的优先次序()的排列是正确的.A、由高到低为:算术运算符,关系运算符,!,&&,||,赋值运算符B、由高到低为:算术运算符,关系运算符,赋值运算符,!,&&,||C、由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符D、由高到低为:!,&&,||,算术运算符,赋值运算符答案:C105.以下程序的输出结果是().main(){int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A、3B、1C、2D、4答案:A106.在C语言中,char型数据在内存中的存储形式是().A、补码B、ASCII码C、反码D、原码答案:B。

(完整版)c语言程序设计编程题库

(完整版)c语言程序设计编程题库

(完整版)c语言程序设计编程题库C语言程序设计编程题库1. 题目一:计算两个数的和要求:编写一个C程序,要求用户输入两个整数,并计算它们的和。

```c#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数:\n");scanf("%d %d", &num1, &num2);int sum = num1 + num2;printf("两个数的和为:%d\n", sum);return 0;}```2. 题目二:判断一个数是否为素数要求:编写一个C程序,要求用户输入一个整数,并判断该数是否为素数。

#include <stdio.h>int main() {int num;printf("请输入一个整数:\n"); scanf("%d", &num);int isPrime = 1; // 假设为素数 for (int i = 2; i <= num / 2; i++) { if (num % i == 0) {isPrime = 0; // 不是素数break;}}if (isPrime == 1) {printf("%d是素数\n", num); } else {printf("%d不是素数\n", num); }return 0;```3. 题目三:求n的阶乘要求:编写一个C程序,要求用户输入一个正整数n,并计算n的阶乘。

```c#include <stdio.h>int main() {int num;unsigned long long factorial = 1;printf("请输入一个正整数:\n");scanf("%d", &num);for (int i = 1; i <= num; i++) {factorial *= i;}printf("%d的阶乘为:%llu\n", num, factorial);return 0;}```4. 题目四:字符串反转要求:编写一个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、 if, 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语言题库1

C语言题库1

main() { int i,num=0; for(i=100;i < =500;i++) { if((i%3==2)&&(i%5==3)) num=num+1; } printf("\n%d",num); } 本题答案:20 2、编写程序,求在 10~1000 之间所有能被 4 除余 2,被 7 除余 3, 被 9 除余 5 的数之和。(10 分) 参考答案: main() { long s=0; int m; for(m=10;m<=1000;m++) { if(m%4==2&&m%7==3&&m%9==5) s=s+m; }
A.a < > 0 B.!a C.a=0 D.a!=0 参考答案: D @18、若 K 为整型,以下 while 循环执行( )次 K=0; while (K=0) K=K-1; (2 分) A.执行 10 次 B.无限循环 C.一次也不执行 D.执行一次 参考答案: C @19、以下程序的输出结果是() void main() {int y=5; whlie(y--) ; printf("y=%d\n",y); } (2 分) A.y=0 B.y=1 C.y=-1 D.无限循环
D.2a, DO, sizeof 参考答案: B 38、以下叙述中错误的是(2 分) A.用户所定义的标识符允许使用关键字 B.用户所定义的标识符应尽量做到"见名识意" C.用户所定义的标识符中,大、小写字母代表不同标识 D.用户所定义的标识符必须以字母或下划线开头 参考答案: A 40、有如下程序段 int *p,a=10,b=1 p=&a; a=*p+b; 执行该程序段后,a 的值为 (2 分) A.12 B.11 C.10 D.编译出错 参考答案: B 程序设计题(以下 3 题中任选 2 题作答,每题 10 分,共 20 分): 1、编程序求出 100 到 500 之间同时满足除 3 余 2 和除 5 余 3 条件的 数的个数。(10 分) 参考答案:

合肥工业大学 C语言考试 题库-1

合肥工业大学 C语言考试 题库-1
答案:
1). strcpy
第37题 (9.0分) 题号:312
以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则括号内应填写【1】.ch=getchar(); while(ch ____ 'Y')/*在括号中填写*/ch=getchar();
答案:
1). ==
答案:
1). 1
第10题 (9.0分) 题号:678
int x=2,y=3,z=4; 则表达式x+(y>!z)的值为【1】.
答案:
1). 3
第11题 (9.0分) 题号:640
设 x 的值为15,n 的值为2,则表达式 x*=n+3 运算后 x 的值是【1】.
1). 1
第57题 (9.0分) 题号:83
已知 i=5,写出语句 a=(a=i+1,a+2,a+3); 执行后整型变量 a 的值是【1】.
答案:
1). 9
第58题 (9.0分) 题号:594
若所用变量都已正确定义,请填写以下程序段的输出结果【1】. for(i=1;i<=5;i++); printf("OK\n");
第38题 (9.0分) 题号:402
设a取二进制数00101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的二进制数是【1】.
答案:
1). 11110000
第39题 (9.0分) 题号:642
设x=2&&2||5>1,x的值 为【1】.
答案:
1). 1
答案:

《C语言程序设计》复习题库(1)

《C语言程序设计》复习题库(1)

复习题库
当n=5时
93.有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它
插入到数组中。

94.将一个数组中的值按逆序重新存放。

例如,原来顺序为8,6,5,4,1。

要求
改为1,4,5,6,8
95.编程先输入某班10个学生某门课的成绩(成绩均为float型数据),
对全班10个学生成绩进行由高到低排序,并打印输出排序结果。

96.从键盘任意输入某班10个学生的成绩,输出最高分并统计出不及格
人数。

97.写一个判断素数的函数,在主函数输入一个整数,输出是否为素数的
信息
98.编写函数实现两个整型变量值的交换。

99.用递归调用的方法求n!,要求n由用户输入。

100.从键盘任意输入10个整数并放入一个数组,用函数编程实现将其中最大数与最小数的位置对换后,再输出调整后的数组。

101.写一个函数,使给定的一个3X3的二维整形数组转置,即行列互换102.写一个函数,将两个字符串连接
103.写一个函数,使输入的一个字符串按反序存放。

104.输入两个实数,用一个函数求出它们之和。

105.有一个一维数组score,内放10个学生成绩,写一个函数求平均成绩。

106.输出所得水仙花数,所谓水仙花数是指一个数3位数,其各各位数字立方和等于其本身, 例如: 153 = 1*1*1 + 3*3*3 + 5*5*5。

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。

()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。

()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。

()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。

答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。

答案:911. 在C语言中,用于动态分配内存的函数是______。

答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。

答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。

答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。

答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。

C语言题库1

C语言题库1

C语言题库1.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是(D)。

A、"rb+"B、"ab++"C、"ab"D、"wb+"2.设有如下定义:struct sk{int a;float b;}data,*p;若要使p指向data中的a域,正确的赋值语句是(C)。

A、p=(struct sk*)data.a;B、*p=data.a;C、p=&data.a;D、p=&data,a;3.对结构体类型的变量的成员的访问,无论数据类型如何都可使用的运算符是(B)。

A、&B、.C、*D、->4.下列关于指针定义的描述,错误的是(A)。

A、指针是一种变量,该变量用来存放某个变量的值B、指针是一种变量,该变量用来存放某个变量的地址值C、指针变量的类型与它所指向的变量类型一致D、指针变量的命名规则与标识符相同5.设有如下的程序段:char str[]="Hello";char*ptr;ptr=str;执行完上面的程序段后,*(ptr+5)的值为(D).A、不确定的值B、'o'的地址C、'o'D、'\0'6.若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是(D)。

A、&t[1]B、t[3]C、&t[3][2]D、t[2]7.下列说法中正确的是(B).A、函数调用不占运行时间,只占编译时间.B、宏替换不占运行时间,只占编译时间.C、有参数的宏定义,就是函数.D、在定义宏时,宏名与带参数的括弧之间可以加空格.8.以下叙述中正确的是(C)。

A、全局变量的作用域一定比局部变量的作用域范围大B、未在定义语句中赋初值的auto变量和static变量的初值都是随机值C、静态(static)类别变量的生存期贯穿于整个程序的运行期间D、函数的形参都属于全局变量9.下列叙述中正确的是(B)。

c语言上机题库 (1)

c语言上机题库 (1)

1、给定n个数据, 求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)。

2、编写程序求无理数e的值并输出。

计算公式为:e=1+1/1!+1/2!+1/3!+......+1/n!当1/n!<0.000001时e=2.718282。

3、求一批数中最大值和最小值的积。

4、某一正数的值保留2位小数,对第三位进行四舍五入。

5、从键盘上输入任意实数x,求出其所对应的函数值。

z=(x-4)的二次幂(x>4)z=x的八次幂(x>-4)z=z=4/(x*(x+1))(x>-10)z=|x|+20(其他)6、求出N×M整型数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,选择位置在最前面的一个)。

例如:输入的数组为:1 2 34 15 612 18 910 11 2求出的最大数为18,行坐标为2,列坐标为1。

7、求一个n位自然数的各位数字的积。

(n 是小于10的自然数)8、计算n门课程的平均值,计算结果作为函数值返回。

例如:若有5门课程的成绩是:92,76,69,58,88,则函数的值为76.599998。

9、求一批数中小于平均值的数的个数。

10、编写函数判断一个整数m的各位数字之和能否被7整除,可以被7整除则返回1,否则返回0。

调用该函数找出100~200之间满足条件的所有数。

11、请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指一维数组中。

二维数组中的数已在主函数中赋予。

12、编写函数fun用比较法对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果。

13、编写main程序调用函数fact求解从m个元素选n 个元素的组合数的个数。

计算公式是:组合数=m!/(n!.(m-n)!)。

要求:m不能小于n,否则应有容错处理。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一. 选择题 (单项)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 型数据在内存中的存储形式是——。

A 补码C 原码B反码D AS CⅡ码12.设有说明语句: char w;int x ;float y ;double z;w x z y 值的数据类型为——。

A floatB charC intD double13.在 C 语言中,要求运算数必须是整型的运算符是——。

A/B++C!=D%14.在 C 语言中一个 int 型数据在内存中占 2 个字节,则 unsigned int 型数据的取值范围为——。

A0~255B0~32 767C0~ 65 535 D 0~ 2 147 483 64715 下面正确的字符常量是——。

A〞c 〞B〞〞Cˊ W ˊDˊˊ16.已知各变量的类型说明如下:int k , a , b;unsigned long w=5;double x=1.42;则以下不正确的表达式是——。

A x%(-3)B w+= -2C k=(a=2,b=3,a+b)D a+=a-=(b=4)*(a=3)17.若定义语句: int a=7; float x=2.5;y=4. 7; 则表达式 x+a%3*(int)(x+y)%2/4 的值是——。

A 2.500000B 2.750000C 3.500000D0.00000018.已知字母 A 的 ASCⅡ码为十进制数65,且定义 c2 为字符型变量,则执行语句c2=ˊ Aˊ +ˊ6ˊ- ˊ3ˊ;后, c2 中的值为:A DB 68C 不确定的值D C19.以下程序的运行结果是——。

#include<stdio.h>main(){int m=5,n=10;printf( “%d,%d\n”,m++,--n);}A 5, 9B 6,9C 5,10D6,1020.以下程序的运行结果是——。

# include<stdio.h>main(){int a=201,b=012;printf( “%2d,%2d\n”,a,b);}A 01,12B 201,10C 01,10D20,0121.设有如下程序# include<stdio.h>main(){char ch1=’A’,ch2=’a’;printf( “%c\n”,(ch1,ch2));}则下列叙述正确的为——A 程序的输出结果为大写字母AB 程序的输出结果为小写字母aC运行时产生错误信息D格式说明符的个数少于输出项的个数,编译出错22.以下正确定义整型变量a,b 和 c 并为其赋初值 5 的语句是——。

A int a=b=c=5;B int a,b,c=5;C int a=5,b=5,c=5;D a=b=c=5;23.设x,y 均为float型变量,则不合法的赋值语句是——。

A++x; B y=(x%2)/10;C x y 8;D x=y=0;24.输入数据的形式是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不确定值25.若有如下定义,则正确的赋值语句是——。

int a,b;float x;A a=1,b=2,B b++;C a=b=5D b=int(x);1.已知学生记录描述为struct student{int no;char name[20];char sex;struct{int year;int month;int day;}birth;};struct student s;设变量 s 中的“生日”应该是“1984年 11 月 11 日”,下列对“生日”的正确赋值方式是()A. year=1984;h.day=11;2.当说明一个结构体变量时系统分配给它的内存是( )A.各成员所需内存的总和B.结构中第一个成员所需内存量C.成员中占内存量最大者所需的容量D.结构中最后一个成员所需内存量3.设有以下说明语句struct stu{int a;float b;}stutype; 则以下叙述不正确的是( )A. struct 是结构体类型的关键字B. struct stu 是用户定义的结构体类型C. stutype 是用户定义的结构体类型名D. a 和 b 都是结构体成员名4.C 语言结构体类型变量在程序执行期间( )A.所有成员一直驻留在内存中B.只有一个成员驻留在内存中C.部分成员驻留在内存中D.没有成员驻留在内存中5.在 16 位机动 IBM-PC 机上使用 C 语言,若有如下定义:struct data{int I; char ch; double f;}b;则结构体变量 b 占用内存的字节数是 ( )A.1B.7C.8D.116.以下程序的运行结果是 ( )main(){struct date{int year,month,day;}today;printf("%d\n",sizeof(struct date));}A.6B.8C.10D.127.根据下面的定义,能打印出字母M 的语句是 ( )struct person{char name[9];int age;};struct person class[10]={"John",17,"Paul",19,"Mary"18,"adam",16};A.printf("%c\n",class[3].name);B.printf("%c\n",class[3].name[1]);C.printf("%c\n",class[2].name[1]);D.printf("%c\n",class[2].name[0]);8.下面程序的运行结果是 ( )main(){struct cmplx{int x;int y;}cnumn[2]={1,3,2,7};printf("%d\n"),cnum[0].y/cnum[0].x*cnum[1].x;}A.0B.1C.3D.69.若有以下定义和语句struct student{int age;int num;};struct student stu[3]={{1001,20},{1002,19},{1003,21}};main(){struct student *p;p=stu; ⋯⋯}以下不正确的引用是 ( )A.(p++)->numB.p++C.(*p).numD.p=&stu.age10.以下 scanf 函数用句中构体量成的不正确引用是( )struct pupil{char name[20]; int age; int sex;}pup[5],*p;p=pup;A.scanf("%s",pup[0].name);B.scanf("%d",&pup[0].age);C..scanf("%d",&(p->.sex));D.scanf("%d",p-age);11.若有以下明和句 :struct student{int age; int num;}std.*p;p=&std;以下构体量std 中成 age 的引用方式不正确的是 ( )A. std.ageB.P->ageC.(*p).ageD.*p.age12.若有以下程序段:struct dent{int n; int *m;};int a=1,b=2,c=3;struct dent s[3]={{101,&a},{102,&b},{103,&c}};main(){struct dent *p;p=s; ⋯⋯} 以下表达式 2 是 ( ) A.(P++)->mB.*(P++)->mC.(*P).mD.*(++p)->m13.有以下句 :struct st{int n; struct st *next;};struct st a[3]={5.&a[1],7,&a[2],9,'\0'};*p;p=&a[0]; 以下表达式的 6 的是 ( )A.p++->nB.p->n++C.(*p).n++D.++p->n15.若有以下明和句,下面表达式中的1002 的是 ( )struct student{ int num;int age; };struct student stu[3]={{1001,20},{1002,19},{1003,21}};struct student *p;p=stu;A.(p++)->numB.(++p)-> numC.(*p).numD.(*++p).age16.以下构体量stul 中成 age的非法引用的是 ( )struct strudent{int age; int num;}stul,*p;p=&stul;C.p->ageD.(*p).age17.有以下明和定句,下面表达式中 3 的是 ( )struct s{int il; struct s *12;};struct s a[3]={1,&a[1],2,&a[2],3,&a[0]},*ptrptr=&a[1];A.ptr->il++B.ptr++->ilC.*ptr->ilD.++ptr->il18.当说明一个共用体变量时系统分配给它的内存是( )A.各成员所需内存量的总和B.结构中第一个成员所需内存量C.成员中占内存量最大者所需内存量D.结构中最后一个成员所需内存量19.以下对 C 语言中共用体类型数据的叙述正确的是( )A.可以对共用体变量名直接赋值B.一个共用体变量中可以同时存放其所有成员C.一个共用体变量中不能同时存放其所有成员D.共用体类型定义中不能出现结构体类型的成员20.若有以下定义语句union data{int l; char c; float f;}a;int n;则以下语句正确的是 ( )A.a=5;B.a={2,'a',1.2};C.printf("%d\n",a.l);D.n=a;21.设有以下语句,则下面不正确的叙述是( )union data{int I; char c; float f;}UN;A.UN 所占的内存长度等于成员 f 的长度B.UN 的地址和它的各成员地址都是同一地址C.UN 不可以作为函数参数D.不能对 UN 赋值,但可以在定义un 时对它初始化22.C 语言共用体类型变量在程序运行期间( )A.所有成员一直驻留在内存中B.只有一个成员驻留在内存中C.部分成员驻留在内存中D.没有成员驻留在内存中23.以下程序的运行结果是 ( )#include<stdio.h>main(){union{ long a;int b;char c;}m;printf("%d\n",sizeof(m));}A.2B.4C.6D.825.以下程序的运行结果是 :( )#include<stdio.h>union pw{ int i;char ch[2];}a;main(){ a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);}A.13B.14C.208D.209文件选择题:1.下列哪个是字符写函数()。

相关文档
最新文档