C语言题

合集下载

c语言习题集及答案

c语言习题集及答案

计算机系统概述一、简答题1.什么是计算机系统?包括哪几部分?答:计算机系统是一种动态实体,用于解决问题以及与它所处的环境进行交互;计算机系统包括硬件、软件和它们管理的数据。

3.简述计算机软件各个时代的主要特征。

答:第一代机器语言编写,第二代高级语言编写,第三代出现操作系统,第四代出现结构程序设计,第五代出现面向对象的程序设计语言。

4.计算机是如何分类的?答:按工作原理和运算方式分为数字电子计算机(Digital Computer)、模拟电子计算机(Analog Computer)和数字模拟混合计算机(Hybrid Computer);按设计目的分为通用计算机和专用计算机;按用途科学计算、工程计算机用的计算机、工业控制用的计算机和数据处理用的计算机;按规模和性能分为巨型机、大型机、小型机、微型机、工作站、服务器、网络计算机和嵌入式计算机等。

5.计算机具有哪些特点?答:运算速度快、精度高;具有逻辑判断功能;具有记忆功能;自动化程度高、通用性强。

6.衡量计算机性能的指标有哪些?答:从几个方面衡量,衡量cpu的指标有字长、时钟周期和主频,衡量内存的指标有内存容量、存取周期,衡量外设的指标有输入输出最高频率。

7.简述计算机主要应用在哪些方面。

答:科学计算、信息传输和信息处理、实时控制、辅助功能(设计/制造/教学)、艺术和娱乐。

8.简述计算机系统抽象分层,及每一层的功能。

答:主要分为七层,信息表示层反映了在计算机上表示信息的方式,它是一个纯概念层;硬件层探讨计算机系统的物理硬件组成;程序设计层负责解决人们的一些问题、用于实现计算的指令以及管理数据;操作系统层用来管理计算机的各种资源,提供人与计算机交互的接口;网络通信层是计算机系统运行的基础,计算机连接到网络上共享信息和资源;应用软件层的重点则是将计算机与一个实际应用领域相结合。

计算机中的信息表示一. 判断题1.二进制数在计算中很重要,因为二进制数可以被转换成以任何数为基数的数。

(完整版)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语言习题及解答

C语言习题及解答

第1部分课后练习题第1章C语言概述一、选择题1.一个C程序的执行是从。

A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2.以下叙述正确的是。

.在C程序中,main函数必须位于程序的最前面A)C程序的每行中只能写一条语句B)C语言本身没有输入输出语句C)在对一个C程序进行编译的过程中,可发现注释中的拼写错误3.以下叙述不正确的是。

A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面4.C语言规定:在一个源程序中,main函数的位置。

A) 必须在最开始 B) 必须在系统调用的库函数的后面C) 可以任意 D) 必须在最后5.一个C语言程序是由。

A) 一个主程序和若干子程序组成 B) 函数组成C) 若干过程组成 D) 若干子程序组成6.C语言中的语句需要符号作为结尾。

A) : B) ; C)。

D) //7.C 语言程序中可以对程序进行注释,注释部分用符号_____括起来。

A)‘{‘ 和’}’ B)‘[‘和’]’C)“/*”和”*/” D)“*/”和”/*”8.C语言中注释的位置。

A) 必须在程序的最开始 B) 必须在程序的结尾C) 可以在程序的任何位置 D) 不可以写到main函数里面9.C语言程序能够在不同的操作系统下面运行,这说明c语言具有很好的。

1A) 适应性 B)移植性 C)兼容性 D) 操作性10.C语言经过编译后生成的文件的后缀是。

A).c B) .cpp C) .exe D) .obj11.C语言编译程序的首要工作是。

A) 检查C语言程序的语法错误 B) 检查C语言程序的逻辑错误C)检查程序的完整性 D) 同时检查语法和逻辑错误12. C语言经过链接后生成的文件的后缀是。

C语言试题库(含答案)

C语言试题库(含答案)
C、Print f("%c\n",class[2].name[l]);
D、print f("%c\n",class[2].name[0]);
标准答案:D
【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。
A、f+=g
B、f-=g+5
C、f*=g-5
D、f/=g*5
标准答案:A
if(ch=='/')w=a/b;
B、B)if(ch=='*')w=a*b;
else if(ch=='/')w=a/b;
if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
C、if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
if(ch=='*')w=a*b;
A、15
B、10
C、25
D、20
标准答案:A
【15】程序段的基本结构中,不包含()。
A、函数结构
B、循环结构
C、顺序结构
D、分支结构
标准答案:A
【1】执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是。
A、1
B、2
C、1,2
D、12
标准答案:c
【3】若用数组名作为函数调用的实参,传递给形参的是()。
#include<stdio.h>
main()
{int i=1;

C语言试题及答案

C语言试题及答案

第1章C语言概述习题1. 单项选择题(1) C 语言是在 B 语言的基础上产生的。

A. 回车符B. 冒号C. 逗号D. 分号(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 语言只有 37 个关键字和 9 种控制语句。

(2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

(3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。

(4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。

(5) C 语言的程序中有特殊含义的英语单词称为保留字。

(6) C 语言标识符的长度是前 8 位有效。

(7) C 语言中,标识符的定义规则是以字母或下划线为开头。

C语言试题和答案大全

C语言试题和答案大全

模块1 C语言基础知识1. 选择题(1)C语言中运算对象必须是整型的运算符是(B )。

A. %=B. /C. =D. <=(2)以下所列的C语言常数中,错误的是(B )。

A. 0xFFB. 1.2E0.5C. 2LD. -.67(3)以下选项中能作为用户标识符的是( C )。

A. voidB. 7_9C. _3_D. Dr.Tom(4)以下所列的C语言字符常量中,合法的是( B )。

A. ”B”B. ’\n’C. ’中国’D. d(5)以下选项中正确的定义语句是( D )。

A. int a:b;B. int ,a,b;C. int a+b=6;D. int a=6,b;(6)以下关于long、int、short型数据占用内存大小的叙述中正确的是( D )。

A. 均占4个字节B. 根据数据的大小来决定所占内存的字节数C. 由用户自己定义D. 由C语言编译系统决定(7)若有定义语句:int x=10;,则表达式x-=x+x的值为( B )。

A. -20B. -10C. 0D. 10(8)表达式((a=3*5,a+4),a+5)的值是( A )。

A. 20B. 29C. 60D. 90(9)若有定义语句:int a=3,b=4,c=5;,则以下表达式中值为0的是( D )。

A. a&&bB. a<=bC. a||b+c&&b-cD. !((a<b)&&c||1)(10)设有以下定义:int i;char c;float f;,以下结果为整型的表达式是( B )。

A. i+fB. i*cC. c+fD. i+c+f2. 填空题(1)设有int n=12;,则表达式(n++*1/3)的值是 4 。

(2)定义以下变量:char c;int x;float y;double z;,则表达式c*x+y-z,所求得的数据类型为double 。

(3)设变量a和b已正确赋初值,请写出a/=a+b等价的赋值表达式a=a/(a+b) 。

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语言测试题(附有详细解析)

C语言测试题(附有详细解析)

C语言测试题(附有详细解析)一、选择题1. 下面哪个选项是C语言的合法标识符?A. voidB. 2varC. intD. _temperature解析:C语言的标识符必须以字母或下划线开头,后面可以跟字母、数字或下划线。

选项A和C是C语言的关键字,不能作为标识符。

选项B以数字开头,不合法。

选项D符合标识符的规则,是正确的。

2. 在C语言中,哪个关键字用于定义整型变量?A. floatB. intC. doubleD. char解析:在C语言中,关键字`int`用于定义整型变量。

选项A 用于定义浮点型变量,选项C用于定义双精度浮点型变量,选项D用于定义字符型变量。

因此,正确答案是B。

3. 下面哪个选项是C语言中的逻辑运算符?A.++B. &&C. ||D. !=解析:C语言中的逻辑运算符包括`&&`(逻辑与)和`||`(逻辑或)。

选项A是自增运算符,选项D是不等于运算符,因此正确答案是B和C。

二、填空题4. 下面代码的输出是什么?```c#include <stdio.h>int main() {int x = 5;printf("%d\n", x++);return 0;}```解析:这段代码的输出是5。

在`printf`语句中,`x++`是后缀自增运算符,它先输出x的当前值5,然后x的值增加1。

因此,输出为5。

5. 下面代码的输出是什么?```c#include <stdio.h>int main() {int x = 5, y = 10;printf("%d\n", x > y ? x : y);return 0;}```解析:这段代码的输出是10。

条件运算符`?:`是一个三元运算符,它根据第一个表达式的值来选择第二个或第三个表达式。

在这个例子中,`x > y`是假的,所以输出是`y`的值,即10。

c语言试题及答案大全

c语言试题及答案大全

c语言试题及答案大全一、选择题1. 下列关于C语言的说法中,正确的是:A. C语言是一种高级编程语言。

B. C语言可以被编译成机器语言执行。

C. C语言的语法和C++完全相同。

D. C语言不支持面向对象的编程。

答案:B. C语言可以被编译成机器语言执行。

2. C语言中,以下哪个是合法的标识符?A. 123abcB. abc_123C. intD. function()答案:B. abc_1233. 在C语言中,以下哪种循环结构是先判断条件后执行循环体?A. for循环B. while循环C. do-while循环D. switch语句答案:C. do-while循环二、编程题1. 编写一个C程序,计算并输出1到n之间所有整数的和。

其中,n由用户输入。

答案:#include <stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i;}printf("1到%d之间所有整数的和为%d\n", n, sum);return 0;}2. 编写一个C程序,判断一个整数是否为素数。

素数是指除了1和自身外,无法被其他整数整除的整数。

答案:#include <stdio.h>#include <stdbool.h>bool is_prime(int num) {if (num <= 1) {return false;}for (int i = 2; i * i <= num; i++) {if (num % i == 0) {return false;}}return true;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (is_prime(num)) {printf("%d是素数\n", num);} else {printf("%d不是素数\n", num);}return 0;}三、应用题1. 假设有一个班级的学生信息如下:学号姓名年龄性别101 张三 18 男102 李四 17 女103 王五 16 男请根据上述学生信息,编写一个C程序,输出学生的平均年龄。

c语言试题及答案

c语言试题及答案

c语言试题及答案C语言试题及答案一、选择题1. 在C语言中,以下哪个是正确的数据类型?A. 整数型B. 浮点型C. 字符型D. 所有选项答案:D2. 以下哪个是C语言中的逻辑运算符?A. &&B. ||C. !D. 所有选项答案:D3. 在C语言中,哪个关键字用于定义一个函数?A. intB. voidC. functionD. return答案:A二、填空题1. 在C语言中,一个基本的程序结构由_____、_____、_____三个部分组成。

答案:预处理指令;函数定义;语句2. 一个C语言程序总是从_____函数开始执行。

答案:main3. 在C语言中,若要实现循环,可以使用_____、_____、_____等循环结构。

答案:for;while;do-while三、简答题1. 简述C语言中数组的定义和使用。

答案:在C语言中,数组是一种数据结构,用于存储具有相同数据类型的元素集合。

数组定义的一般形式为:类型名数组名[常量表达式],其中类型名是数组元素的数据类型,数组名是数组的标识符,常量表达式是数组中元素的数量。

数组的使用包括初始化、访问和修改元素等。

2. 解释C语言中的指针及其作用。

答案:指针是C语言中一种特殊的变量,它存储了另一个变量的内存地址。

指针的主要作用是直接访问和操作内存地址,从而可以更灵活地处理数据。

指针的使用包括指针的声明、指针的初始化、指针的运算等。

四、编程题1. 编写一个C语言程序,实现求两个整数的和。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和是:%d\n", sum); return 0;}```2. 编写一个C语言程序,实现字符串的反转。

c语言题目及答案

c语言题目及答案

注意:所有答案都要写在答题卡上一、单项选择题(20分,每题2分)1.执行下列程序段后,正确的结果是(B)int k, a[3][3] = {1,2,3,4,5,6,7,8,9};for(k=0; k<3; k++)printf(“%2d”, a[k][k]);A) 1 2 3 B) 1 5 9 C) 1 4 7 D) 3 6 92.若a是int类型变量,则计算表达式a=25/3%3的值是:(B)A)3 B)2 C)1 D)03.下面正确的字符常量是:(C)A)“c” B)‘\\’’ C)‘W’ D)‘’4.C语言中,运算对象必须是整型的运算符是:(B)A)% B)/ C)* D)+5.数字字符0的ASCII值为48,若有以下程序main(){char a='1', b='2';printf("%c,",b++);printf("%d\n",b-a);}程序运行后的输出结果是。

(B)A)3,2 B)50,2 C)2,2 D)2,50 6.以下语句或语句组中,能正确进行字符串赋值的是。

(D)A)char *sp;*sp="right!"; B)char s[10];s="right!";C)char s[10];*s="right!"; D)char *sp="right!";7.for(i=0;i<10;i++)if(i〈=5〉break;则循环结束后i的值为(B)A)0 B)1 C)5 D)108.执行下列程序段后,正确的结果是(C)char x[8] = {8,7,6,5,0,0}, *s;s = x+1;printf(“%d\n”, s[2]);A) n B) 0 C) 5 D) 69.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:AA)单向值传递B) 地址传递C) 相互传递D) 由用户指定方式10.设有数组定义:char str[]=”China”;则下面的输出为(C)printf(“%d”,strlen(str));A)4 B)5 C)6 D)7二、填空题(30分,每空2分)1.下列程序段的输出结果是 3 。

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,a>b?a++:b++,a+b)的值是( )。

A 7B 8C 9D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是( )。

a=125.534; a=(int)125.521%4; a=5<<2;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;i<8;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分配( )字节的空间。

c语言试题100道

c语言试题100道

1.按下述格式,从键盘输入一个整数加法表达式:操作数1+操作数2,然后计算并输出表达式的计算结果,形式如下:操作数1+操作数2=计算结果。

(课本62)2.输入两个整形数并打印,如果用户不慎输入了非法字符,那么程序提示“输入数据类型错误”。

(课本68页)3.已知三角形的三边长a,b,c,要求编写程序,从键盘输入a,b,c的值,计算并输出三角形的面积(注意不存在的情况)。

(第三章习题)4.编程从键盘输入圆的半径r,计算并输出圆的周长和面积。

(第三章习题)5.任意从键盘输入一个三位整数,要求正确分离它的个位,十位和百位数,并分别在屏幕上输出。

(课本82)6.写一个函数实现统计一个输入的整形数的位数。

7.编程计算方程ax*x+bx+c=0的根,a,b,c由键盘输入,只是用主函数来实现。

(课本83页,但需综合考虑)8.编写三个函数,分别在b*b-4*a*c大于0、小于0、等于0时进行调用,并输出结果,在主函数中读入a、b、c的值。

9.从键盘输入你和你朋友的年龄,编程判断谁的年龄大,并打印最大者的年龄。

(课本86页)10.从键盘输入一个年份,判断该年是否是闰年,并输出结果。

11.判断某人是否属于肥胖体型。

根据身高与体重因素,医务工作者经广泛的调查分析给出了以下按“体指数”对肥胖程度的划分:体指数t=w/h*h(w为体重,单位为kg,h为身高,单位为m)。

当t<18时,为低体重;当t介于18和25之间时,为正常体重;当t介于25和27之间时,为超重体重;当t≧27时,为肥胖。

编程从键盘输入你的身高h和体重w,根据上式,判断体重类型。

(课本89)12.利用switch语句将百分制成绩转化为五分制成绩。

(课本97)13.利用switch语句将五分制成绩转换成对应分数范围并输出。

14.编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:操作数1 运算符op 操作数2 计算表达式的值,指定的运算符为加减乘除。

C语言试题及答案

C语言试题及答案

C语言试题及答案集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#第1章C语言概述习题1. 单项选择题(1) C 语言是在 B 语言的基础上产生的。

A. 回车符B. 冒号C. 逗号D. 分号(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 语言只有 37 个关键字和 9 种控制语句。

(2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

(3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。

(4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。

(5) 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语言必做100题

c语言必做100题

c语言必做100题1. 编写一个C程序,输出“Hello, World!”。

2. 编写一个C程序,计算并输出1到100的和。

3. 编写一个C程序,判断一个数是否为素数。

4. 编写一个C程序,将一个字符串反转。

5. 编写一个C程序,实现二分查找算法。

6. 编写一个C程序,实现插入排序算法。

7. 编写一个C程序,实现选择排序算法。

8. 编写一个C程序,实现冒泡排序算法。

9. 编写一个C程序,实现快速排序算法。

10. 编写一个C程序,实现希尔排序算法。

11. 编写一个C程序,将一个二维数组转置。

12. 编写一个C程序,计算一个数的阶乘。

13. 编写一个C程序,实现斐波那契数列。

14. 编写一个C程序,计算两个数的最大公约数。

15. 编写一个C程序,计算两个数的最小公倍数。

16. 编写一个C程序,计算一个数的平方根。

17. 编写一个C程序,计算一个数的立方根。

18. 编写一个C程序,实现矩阵乘法运算。

19. 编写一个C程序,实现字符串的查找和替换。

20. 编写一个C程序,实现栈的基本操作(入栈、出栈、查看栈顶元素)。

21. 编写一个C程序,实现队列的基本操作(入队、出队、查看队首元素)。

22. 编写一个C程序,实现链表的基本操作(插入、删除、倒置)。

23. 编写一个C程序,实现二叉树的前序、中序和后序遍历。

24. 编写一个C程序,实现图的深度优先搜索算法。

25. 编写一个C程序,实现图的广度优先搜索算法。

26. 编写一个C程序,实现最短路径算法(Dijkstra算法或Floyd算法)。

27. 编写一个C程序,实现最小生成树算法(Prim算法或Kruskal算法)。

28. 编写一个C程序,实现拓扑排序算法。

29. 编写一个C程序,实现优先队列。

30. 编写一个C程序,实现哈希表的基本操作(插入、查找、删除)。

31. 编写一个C程序,实现堆的基本操作(插入、删除、查找最大值)。

32. 编写一个C程序,实现最大堆排序算法。

C语言试题库(带答案解析)~排版

C语言试题库(带答案解析)~排版

C语⾔试题库(带答案解析)~排版⼀、选择题1、以下不能定义为⽤户标识符的是()。

(A) MAIN (B) _HJ(D) LINE1 2、以下不能定义为⽤户标识符的是() (A) If(B) H_J (D) LINE12 3、下⾯属于C 语⾔标识符的是( )。

(A) 2ab (B) @f(C) b 4、下列符号中⽤来表⽰C 语⾔中的回车换⾏的是()。

(A) \r(C) \b (D) \t 5、在计算机系统中,可执⾏程序是() (A)源代码(B)汇编语⾔代码(D) ASCII 码6、在Visual C++ 环境下,C 源程序⽂件名的默认后缀是()。

(A) .obj (B) .txt (D) .doc7、Microsoft Visual C++ 中,C 语⾔可执⾏程序的扩展名是:( )(B) obj (C) c 或cpp (D) txt 8、C 程序由()组成。

(A)⼦程序 (B) 主程序和⼦程序 (D) 过程 9、C 程序的基本组成单位()。

(A) 数据类型 (B) 变量和常量 (D) 表达式 10、C 语⾔中主函数的个数是( )。

(A) 2个 (C) 任意个 (D) 10个 11、⼀个C 程序的执⾏是从() (B)本程序⽂件的第⼀个函数开始,到本程序⽂件最后⼀个函数结束. (C)本程序⽂件的第⼀个函数开始,到本程序main 函数结束. (D)本程序的main()函数开始,到本程序⽂件的最后⼀个函数结束. 12、以下叙述正确的是(A)在C 语⾔程序中,main 函数必须放在其他函数的最前⾯ (C)在C 语⾔程序中,只有main 函数才可单独进⾏编译 (D)每个后缀为.C 的C 语⾔源程序都应该包含⼀个main 函数13、设变量a 是整型,b 是实型,c 是双精度型,则表达式2+’a’+b*c 值的数据类型是()。

(A) int (B) float 14、以下选项中表⽰⼀个合法的常量是(说明:符号□表⽰空格)A) 9□9□9 C) D)15、以下选项中⾮法的字符常量是A)'\102' B)'\65' C)'\xff' 16、以下选项中,能表⽰逻辑值“假”的是A)1 B) D)17、下列关系表达式中,结果为“假”的是 A)(3+4)>6 C) 3<=4||3 D)(3<4)==1 18、关于C 语⾔变量,以下说法不正确的是() (A) 变量名由程序员定义,必须符合标识符的命名规则。

C语言题库

C语言题库

第一章概述一、单选题1、C语言的前身是(B )。

A.A语言B.B语言C.C++语言D.BASIC语言2、C语言规定,必须用(C )作为主函数名。

A.FunctionB.includeC.mainD.void3、一个C程序可以包含任意多个不同名的函数,但有且仅有一个(B )。

A.过程B.主函数C.函数D.进程4、一个C程序总是从(B )开始执行。

A.过程B.主函数D.进程5、C程序的基本构成单位是(A )。

A.函数B.过程C.进程D.子程序6、下列说法正确的是( D)。

A.main函数必须放在C程序的开头B.main函数必须放在C程序的最后C.main函数可以放在C程序中间部分,执行C程序时是从程序开头执行的D.main函数可以放在C程序中间部分,执行C程序时是从main函数开始的7、下列说法正确的是(C )。

A.在执行C程序时不是从main函数开始的B.C程序书写格式严格限制,一行内必须写一个语句C.C程序书写格式自由,一个语句可以分写在多行上D.C程序书写格式严格限制,一行内必须写一个语句,并要有行号8、在C语言中,每个语句和数据定义结束都是用( C)。

A.句号C.分号D.括号9、不是C语言提供的合法关键字(B )。

A.switchB.printfC.caseD.default10、不是C语言提供的合法关键字(D )。

A.intB.floatC.charD.scanf11、C语言提供的合法关键字是( A)。

A.breakB.printfC.functionD.end12、C语言提供的合法关键字是( A)。

A.continueB.procedureC.begin13、下列说法正确的是(C )。

A.一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B.一个函数的函数体必须要有执行部分,可以没有变量定义C.一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D.一个函数的函数体必须要有变量定义,可以没有执行部分14、下列说法正确的是(D )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/********** End **********/
}
4【程序填空】
---------------------------------------------------------
功能:产生并输出杨辉三角的前七行。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
if(s[i]>=aver) n++;
printf("aver=%6.2f\n",aver);
printf("n=%d\n",n);
}
P66
#include <stdio.h>
#include <conio.h>
#define M 10
void main()
{
int m,n,i,j;
int a[M][M],s=0;
--------------------------------------------------
功能:编写函数fun求1!+2!+3!+……+n!的和,在main函
数中由键盘输入n值,并输出运算结果。请编写fun
函数。
例如:若n值为5,则结果为153。
------------------------------------------------*/
{
int m,a,b,c,d,t;
clrscr();
scanf("%d",&m);
if(m/1000>=1&&m/1000<10)
{
a=m/1000;
b=m%1000/100;
c=m%100/10;
d=m%10;
printf("ni xu output: %d\n",1000*d+100*c+10*b+a);
printf("min: %d\n",1000*a+100*b+10*c+d);
}
else
printf("error\n");
}
P55
#include <stdio.h>
#include <conio.h>
void main()
{
int n,i,a,b,c;
float s;
clrscr();
w*********FOUND**********/
float j=0;
/**********FOUND**********/
for(j=0;j<=n;j++)
xa+=x[j];
xa=xa/n;
printf("ave=%f\n",xa);
/**********FOUND**********/
-------------------------------------------------------*/
#include <stdio.h>
main ( )
{
int a[7][7];
int i,j;
for (i=0;i<7;i++)
{
a[i][0]=1;
/***********SPACE***********/
return n;
else
return 0;
}
void main()
{
int m;
for(m=100;m<1000;m++)
{if(fun(m)==m)
printf("%5d",m);
}
printf("\n");
}
P82-31
#include <stdio.h>
void main( )
{
int m,n;
printf("not found");
else
printf("position %d\n",c);
}
答案:low<=high>=low high=mid+1 return mid return (mid)
2功能:将字符串s中最后一次出现的子字符串t1替换成字符串t2,
所形成的新串放在w所指的数组中,在此处,要求t1和t2
#include<stdio.h>
void wwjt();
long int fun(int n)
{
/**********Program**********/
/********** End **********/
}
P49
#include <stdio.h>
#include <conio.h>
void main()
{ scanf("%d",&n);
if(n<=1) break;
s=1;
a=1;
b=1;
for(i=2;i<=n;i++)
{
c=a;
a=a+b;
b=c;
s=s+(float)a/b;
}
printf("n=%d,s=%f\n",n,s);
}
}
#include <stdio.h>
#include <conio.h>
while ( *r )
{
/**********FOUND**********/
a = *r;
a++;
r++;
}
}
答案while (*w) while (*w!=0) while (*w!'\0') for (;*w;) for (;*w!='\0';) if(*r==*p) if(*r=='\0')a=w; if(*r==0)a=w *a=*r
s=s-a[i][j];
printf("s=%d\n",s);
}
P73
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
char s[80],c;
int i;
clrscr();
gets(s);
for(i=1;s[i]!='\0';i+=2)
if(s[i]>='a'&&s[i]<='z')
s[i]=s[i]-32;
else if(s[i]>='A'&&s[i]<='Z')
s[i]=s[i]+32;
printf("%s\n",s);
}
P77
#include <stdio.h>
#include <string.h>
#define M 3
void main()
所指字符串的长度相同。
例如:当s所指字符串中的内容为"abcdabfabc",t1中的内容
为"ab",t2中的内容为"99"时,结果w所指数组中的内容
应为"abcdabf99c"。
------------------------------------------------------*/
#include <conio.h>
int shui (int m);
for(m=100;m<1000;m++)
{
n=shui(m);
for(j=0;j<=n;j++)
if(x[j]<=xa) c++;
/**********FOUND**********/
return xa;
}
main()
{
double x[]={23.5,45.67,12.1,6.4,58.9,98.4};
printf("%d\n",fun(x,6));
}
6【程序设计】
clrscr();
scanf("%d%d",&m,&n);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
s=s+a[i][j];
for(i=1;i<m-1;i++)
for(j=1;j<n-1;j++)
1功能:下面函数为二分法查找key值。数组中元素已递增排序,
若找到key则返回对应的下标,否则返回-1。
-------------------------------------------------------*/
#include <stdio.h>
fun(int a[],int n,int key)
for (j=0;【?】;j++)
相关文档
最新文档