C语言复习题整理

合集下载

c语言习题

c语言习题

二.填空题 1.在C语言中(以16位PC机为例),一个char数据在内存中所占字节数为 _1B__,其数值范围为 0~127 ;一个int数据在内存中所占字节数为 2B ,其数值范围为-32768~32767 ;一个long数据在内存中所占字节 数为 4B ,其数值范围为 -2147483648~2147483647 ;一个float 数据在内存中所占字节数为 4B ,其数值范围为 -3.4*1038~-3.4*10-38, 3.4*10-38~3.4*1038 。 2.C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且 第一个字符必须为 字母 。 3.字符常量使用一对 单引号 界定单个字符,而字符串常量 使用一对 双引号 来界定若干个字符的序列。
3.函数体一般包括( 变量定义序列 ) 和( 执行语句序列
二.判断题 1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结 束。 【 √ 】 2.main函数必须写在一个C程序的最前面。 【 × 】 3.一个C程序可以包含若干的函数。【 √ 】 4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运 行不起任何作用。但是可以增加程序的可读性。【 √ 】 5.C程序的注释只能是一行。【 × 】 6.C程序的注释不能是中文文字信息。【 × 】 8.可以使用Turbo C来编译和连接一个C程序。【 √ 】 9.可以使用Turbo C来运行一个C程序。【√ 】 10.可以使用Turbo C来实时调试(即动态调试)一个C程序。【 √ 】 三.简答题 1. 写出一个C程序的基本结构。 预处理命令序列 void main() { 变量定义序列 执行语句序列 } 2. 简要叙述使用Turbo C 2.0编译和运行一个程序的步骤。 1)编辑源程序,以扩展名.c存盘。

c语言复习题

c语言复习题

c语言复习题一、单项选择题1.以下叙述中错误的是? A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意”C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识2、c语言数据的基本类型包括()A、整型、字符型、实型B、整型、字符型、实型、枚举类型C、整型、实型、枚举类型、指针类型 D、整型、字符型、实型、数组类型3.以下不合法的字符常量是A.’\019’B.’\’’’C.’\\’D.’\xcc’4、c语言允许使用的变量标识符是()A、x#yB、12shC、j_c_tD、char5.设有以下语句。

int a=1,b=2,c;c=a^(b<<2);执行后,c的值为 A.6 B.7 C.8 D.96、c语言中合法的字符常量是()A、‘\084’B、‘\X43’C、‘ab’D、“\0”7.下列标识符中,合法的变量名有? A.a.b B.$888 C.A1 D.3x568、若定义x和y为double型,则表达式:x=1,y=x*3/2的值是()A、1B、2C、 2.0D、1.59、若有以下类型说明语句:char w;int x;float y;double z;则表达式 w*x+z-y的结果为()类型A、floatB、char C 、int D、double10、下列表达式中,()可以正确表示x<=0或x>=1的关系A、(x>1)or (x<=0)B、x>1 || x<=0C、x>1 or x<=0D、x>=1 || x<=011.下列不正确的表达式是A.10%3+5%3B.10/3+5/3C.10%3/2D.(10.0/3.0%3)/212.以下四个选项中,不能看作一条语句的是A.{;}B.a=0,b=0,c=0;C.a>0;D.m=1;n=2;13.设x为int 型变量,则执行以下语句后,x的值为x=10;x+=x-=x-x;A.10B.20C.40D.3014、若定义a为整型数据变量则a=-2 L;printf(“%d\n”,a);以上语句结果为()A、赋值语句不合法B、输出值为-2C、输出值为不确定值D、输出值为215、现已定义整型变量int i=1;执行循环语句“while(i++<5)后i的值变为()A、1B、5C、6D、以上三个答案均不正确16、若执行下述程序时,从键盘输入数据3和4,则程序的输出结果是()main(){ int a ,b ,s;scanf(“%d%d”,&a,&b);s=a;if(a<b)< p="">s=b;s=s*s ;printf(“%d”,s);}A、14 B、16 C、18 D、2017、若数组名作为函数参数传递给函数,作为实参的数组名被处理为()A、该数组的长度 B、该数组的元素个数C、该数组中各元素的值 D、该数组的首地址18、c语言允许函数值类型缺省定义,此时该函数值隐含的类型是()A、float型B、int型C、long型D、double型19、在c语言中,存储类型为()的变量只在使用它们的时候才占用存储空间A、static和autoB、register和autoC、static和registerD、register和extern20、下面程序片段的输出结果是()char str[]=“abcd”,*p=str;printf(“%d\n”,*(p+4));A、68 B、0 C、字符‘d’的地址D、不确定的值21、设有以下说明,已知int类型占2个字节,则下列叙述正确的是()struct st{int a;int b[2];} a;A、结构变量名a和结构成员a同名,不合法B、程序运行时将为结构体st分配6个字节的内存单元C、程序运行时不为结构体st分配内存单元D、程序运行时将为结构体变量a分配6个字节的内存单元22、求字符串长度的函数是()A、strcat B、strcpy C、strcmpD、strlen 23.现已定义整型变量 int i=1;执行循环语句“while(i++<5);”后,i的值为A.1B.5C.6D.以上三个答案均不正确24.以下叙述中错误的是A.C语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式末尾加分号就构成赋值语句25.设有定义:int a=2,b=3,c=4;时,以下选项中值为0的表达式是A.(!a= =1)&& (!b= =0)B.aC. a&&bD.a||(b+b)&&(c-a)26.C语言中,定义PI为一个符号常量,正确的是A.#define PI 3.14B.define PI 3.14C.#include PI 3.14D.include PI 3.1427.下面关于switch语句和break语句的结论中,只有是正确的A.break语句是switch语句中的一部分B.在swtich语句中可以根据需要使用或不使用break语句C.在swtich语句中必须使用break语句D.以上三个结论中有两个是正确的28.有以下程序:main(){int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf(“%d\n”,s);}程序执行后的输出结果是 A.自然数1~9的累加和 B.自然数1~10的累加和C.自然数1~9中的奇数之和D.自然数1~10的偶数之和29.在C语言函数的定义和引用中,以下描述正确的是A.必须有形式参数B.也可以没有形式参数 C.数组名不能作为形式参数 D.形式参数必须是变量名30.下列关于return语句的说法,正确的是A.必须在每个函数中都出现B.只能在除主函数之外的函数中出现一次C.可以在同一个函数中多次出现D.在主函数和其他函数中都可以出现31.下列说法不正确的是A.形式参数是局部变量B.主函数main 中定义的变量在整个文件或程序中都又效C.在一个函数的内部,可以在复合语句中定义变量D.不同的函数中,可以使用相同名字的变量32.以下叙述正确的是A.do-while语句构成的循环不能用其它语句构成的循环来代替B.do-while语句构成的循环只能用break语句退出C.用do-while语句构成的循环,在while后的表达式为非零时结束循环D.用do-while语句构成的循环,在while后的表达式为零时结束循环33.下列数组定义语句正确的是A.int a[][]={1,2,3,4,5,6};B.char a[2][3]=’a’,’b’C.int a[][3]={1,2,3,4,5,6};D.static int a[][]={{1,2,3},{4,5,6}}; 34.若定义int a[3][4];则下列选项不能表示数组元素a[1][1]地址的是A.a[1]+1B.&a[1][1]C.*(a+1)[1]D.*(a+5)35.已知int 和double类型分别占2个和8个字节,若有如下定义:Struct data{ int i;char ch;double f;}b;则结构变量b占用内存的字节数是 A.7 B.2 C.8 D.1136.对于以下递归函数f,调用f(4),其返回值为int f(int n){ return f(n-1)+n;}A.10 B.11 C.0 D.以上均不是37.有以下程序:main(){int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;printf(“%d\n”,*p+*q);}程序运行后的输出结果是 A.16 B.10 C.8 D.638.C语言中操作文件的正确顺序是A.读写,关闭,打开B.打开,读写,关闭C.打开,关闭,读写D.读写,打开,关闭39.定义union s{int w,x,y,z;char c[6];};,请问执行sizeof(union s)=A.2B.6C.8D.1440.说明语句int *f();中的标识符f代表A.一个用于指向整型数据的指针变量B.一个用于指向一维数组的行指针C.一个用于指向函数的指针变量D.一个返回值为指针型的函数名二、填空题1.设有程序段:int k=10;while(k=0) k=k-1;则循环体语句执行次。

C语言期末复习.doc

C语言期末复习.doc

C语言期末复习.doc第一章C语言概述一、选择题1、C语言程序由什么组成()A、子程序B、主程序和子程序C、函数D、过程2、源程序要正确地运行,必须要有什么函数()A、Printf函数B、自定义的函数C、main函数D、不需要函数3、指出下面哪些是合法的标识符()A、3abB、intC、ABCD、a_3E、sum..aF、#abcG、_stu2H、abc f二、问答题1、C语言程序由哪几部分组成?C语言程序结构有什么特点?参考答案一、选择题1、C2、C二、问答题见教案第二章基本数据类型、运算符及表达式一、选择题1、C语言中的数据的基本类型包括()A、整型、实型、字符型和逻辑型B、整型、实型、字符型和结构体C、整型、实型、字符型和枚举型D、整型、实型、字符型和指针型2、在C语言中,不合法的int型常量是()A、32767B、0678C、0XABCD、32768L3、在C语言中,运算对象必须是整型数的运算符是()A、%B、\\C、%和\\D、**4、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是()A、1B、2C、2.0D、2.55、若t为double类型,表达式t=1,t+5,t++的值就是()A、1B、6.0D、1.06、若有定义:int a=10,b=9,c=8;执行下面两条语句c=(a-=(b-5));c=(a%11)+(b=3);后,变量b的值为()A、9B、4C、3D、27、设int a=12,则执行完语句a+=a-=a*a后,a的值是_____A、22B、264C、144D、-264二、问答题:1、简述‘a’和“a”的区别。

参考答案一、选择题1、C2、D3、A4、D5、D6、C7、D二、问答题‘a’是字符常量“a”是字符串常量C语言规定:在每一个字符串的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。

C语言规定以字符’\\0’作为字符串结束标志。

如果有一个字符串”china”,实际上在内存中是占内存不是5个字节,而是6个字节,最后一个是’\\0’。

C语言复习资料(有参考答案)

C语言复习资料(有参考答案)

一、选择题:1.‖a‖在内存中占 B 字节。

A.1个B.2个C.3个D.4个2.‘A‘+10的结果是 A 。

A.‘K‘B.‖K‖C.‘J‘D.‖J‖3.字符型数据在微机内存中的存储形式是:DA.反码 B.补码 C.EBCDIC码 D.ASCII码4. 用C语言编制的源程序要变为目标程序,必须经过:DA. 汇编B.解释C. 编辑D.编译5.以下选项中不合法的用户标识符是AA.abc.cB.fileC.MainD.PRINTF6.以下选项中正确的实型常量是 DA.0B.3. 1415C.0.329 102D. .8717. 执行scanf (―%d%c%f‖,&a,&b,&c) 语句,若输入1234a12f56 则变量a,b,c的值为 C .A. a=1234 b=‘a‘c=12.56B. a=1 b=‘2‘c=341256C. a=1234 b=‘a‘c=12.0D. a=1234 b=‘a12‘c=56.08. 设b=1234 , 执行printf(―%%d@%d‖,b) 语句,输出结果为: D .A. 1234B. %1234C. %%d@1234D. %d@ 12349. 两次运行下面的程序,如果从键盘上分别输入6和4,输出的结果是 A 。

main(){ int x;scanf(―%d‖,&x);if(x++>5)printf(―%d‖,x);elseprinf(―%d\n‖,x--);}A. 7和5B. 6和5C. 7和4D. 6和410. 设a为整型变量,不能正确表达数学关系: 10<a<15的C语言表达式是 A 。

A. 10<a<15B. a==11||a==12||a==13||a==14C. a>10&&a<15D. !(a<=10)&&!(a>=15)11. 假设所有变量均为整型,表达式(a=2,b=5,a>b? a++:b++,a+b)的值是: B 。

C语言复习题及答案

C语言复习题及答案

复习A:一、单项选择题1、如果要把常量327存入变量a中,a不能定义的类型是哪一个? ( )A)int B)char C)long D)float2、若x 为unsigned int 型变量,则执行下列语句后x值为()x = 65535;printf(“%d\n”,x);A)65535 B)1 C)无定值D)-13、有以下程序main(){int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf(″%d,%d\n″,k,m);}程序运行后的输出结果是()A)0,0 B)0,1 C)1,0 D)1,14、在C语言中,如果下面的变量都是int类型,则输出的结果是()。

sum=pad=5; pAd=sum + + ,pAd + +, + + pAd;printf("%d\n",pad);A) 7 B) 6 C) 5 D) 45、以下程序的输出结果是()。

main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}A)1 B)0 C)非0的数D)-16、当执行以下程序段时()。

x=-1;do{x=x*x;}while(!x);A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误7、全局变量的存储类型可以定义为()。

A)auto或static B)extern或registerC)auto或extern D)extern或static8、定义全局变量时,若变量的的存储类别缺省,则默认的存储类型是()。

A)auto B)registerC)extern D)static9、已知:int a, x; 则正确的赋值语句是()。

A)a=(a[1]+a{2})/2; B)a*=*a+1; C)a=(x=1, x++, x+2); D)a="good";10、已知:int a, *p=&a; 则下列函数调用中错误的是()。

C语言复习题整理

C语言复习题整理

第2部分C语言程序设计习题与解答题解1 绪论1.1 习题一、选择题1.一个完整的可运行的C源程序中(B )。

A.可以有一个或多个主函数B.必须有且仅有一个主函数C.可以没有主函数D.必须有主函数和其他函数2.构成C语言源程序的基本单位是(D )。

A.子程序B.过程C.文本D.函数3.某C程序由一个主函数main( )和一个自定义函数max( )组成,则该程序( D )。

A.总是从max( )函数开始执行B.写在前面的函数先开始执行C.写在后面的函数先开始执行D.总是从main( )函数开始执行4.C语言规定,一个C源程序的主函数名必须为(C )。

A.program B.include C.main D.function5.下列说法正确的是(C)。

A.在书写C语言源程序时,每个语句以逗号结束B.注释时,'/'和'*'号间可以有空格C.无论注释内容的多少,在对程序编译时都被忽略D.C程序每行只能写一个语句6.C语言源程序文件的后缀是( C ),经过Compile后,生成文件的后缀是( A ),经过Build后,生成文件的后缀是(B)。

A..obj B..exe C..c D..doc7.Visual C++ 6.0 IDE的编辑窗口的主要功能是(A ),输出窗口的主要功能是(D ),调试器(Debug)的主要功能是(C)。

A.建立并修改程序B.将C源程序编译成目标程序C.跟踪分析程序的执行D.显示编译结果信息(如语法错误等)8.在Visual C++ 6.0开发环境下,C程序按工程(project)进行组织,每个工程可包括(D)C/CPP源文件,但只能有( A )main 函数。

A.1个B.2个C.3个D.1个以上(含1个)9.调试程序时,如果某个语句后少了一个分号,调试时会提示错误,这种情况一般称之为(A )。

而某个“计算2的平方”的程序在调试时没有提示出错,而且成功执行并计算出了结果,只是结果等于5,这种情况一般称之为(D)。

(完整版)C语言各章节复习题(带答案)

(完整版)C语言各章节复习题(带答案)

一、C语言概述练习题选择1.一个C程序的执行是从。

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

A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。

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

A)一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。

A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。

A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe 文件7.以下叙述正确的是。

A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x))C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522.下列四组选项中,均不是C语言关键字的选项是。

C语言复习题及参考答案

C语言复习题及参考答案

C语言复习题及参考答案一、单项选择1、以下叙述正确的是:__B__。

A)C语言的源程序不必通过编译就可以直接运行。

B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。

C)C语言源程序经编译形成的二进制代码可以直接运行。

D)C语言中的函数不可以单独进行编译。

2、以下4个用户定义标识符中,全部合法的一组是__A__。

A)_main enclude sin B)if –max turbo C)txt REAL 3COM D)int k_2 _001 3、以下不能定义为用户标识符的是_D__。

A)scanf B)Void C)_3com D)int4、C语言中用于结构化程序设计的3种基本结构是__A__。

A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-whileD)if、for、continue5、为解决某一特定问题而设计的指令序列称为__C__。

A)文档B)语言C)程序D)系统6、用高级程序设计语言编写的程序称为__C__。

A)目标程序B)可执行程序C)源程序D)伪代码7、能将高级语言编写的源程序转换成目标程序的是__B__。

A)编辑程序B)编译程序C)驱动程序D)链接程序8、下列叙述中,正确一条是__C__。

A)计算机语言中,只有机器语言属于低级语言。

B)高级语言源程序可以被计算机直接执行。

C)C语言属于高级语言。

D)机器语言是所用机器无关的。

9、以下符合C语言语法的实型常量是__C__。

A)1.2E0.5B)3.14159E C).5E-3D)E1510、下面叙述正确的是__A___。

A)C程序中注释部分可以出现在程序中任何合适的地方。

B)花括号“{”和“}”只能作为函数体的定界符。

C)构成C程序的基本单位是函数,所有函数名都可以由用户命名。

D)分号是C语句之间的分隔符,不是语句的一部分。

11、设有以下定义:int a=0; double b=1.25; char c=’A’;#define d 2则下面语句中,错误是__D__。

c语言期末复习试卷

c语言期末复习试卷

复习题(一)1。

用高级语言编写的源程序必须通过___________程序翻译成二进制程序才能执行,这个二进制程序称为____________程序。

【答案】编译目标2。

下列符号串中,属于C语言合法标识符的是()①else ②a-2 ③_00 ④00【答案】③3.下列说法中,正确的是()①主函数名是由程序设计人员按照“标识符”的规则选取的②分号和回车符号都可以作为一个语句的结束符号③在程序清单的任何地方都可以插入一个或多个空格符号④程序的执行,总是从源程序清单的第1行开始【答案】③4.-12345E-3代表的十进制实数是________________________.【答案】—12.3455.设字符型变量ch中存放字符“A”,则执行“ch+++2”后,ch中的字符是________。

【答案】B6.设字符型变量ch1中存放的字符是“A",字符型变量ch2中存放的字符是“B”,则执行“!(ch1=’B')&&(ch2='C')”的运算后,变量ch2中的字符是_____________.【答案】B6-1.设整型变量m,n,a,b,c,d均为1,执行“(m=a〉b)&&(n=a>b)”后m,n 的值是()①0,0 ②0,l ③1,0 ④1 ,l【答案】②。

7.设整型变量x1和x2的值均为10,则表达式“x1/=x2-4”的值是_______________. 【答案】l8.在C语言中,如果某个关系表达式成立(真),则该关系表达式的值是____;如果某个逻辑表达式为假,则该逻辑表达式的值是_________.【答案】1 09.设有整型变量x,如果表达式“!x”值为0,则x的值为_________;如果表达式“!x"值为1,则x的值为___________。

【答案】非010.下列表达式中,不属于逗号表达式的是()①a=b,c ②a,b=c ③a=(b,c) ④a,(b=c)【答案】③11.在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构【答案】多分支12.在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。

C语言复习题及答案

C语言复习题及答案

C语言复习题及答案一.单项选择题1.下列选项中,不是转义字符集中的符号是( C )。

A \\B \’C 074D \02. 下列给出的符号串中,不属于C语言保留字的是( B )。

A switchB cherC caseD else3. 下列给出的符号串中,不能作为C语言标识符的是( C )。

A a_2B _2aC a.3D a_34. 下列属于C语言字符常量的是( C )。

A ‘abc’B “\n”C ‘a’D ‘a\0’5. 字符串”ABC”再内存占用的字节数为( B )。

A 3B 4C 6D 86. 设有宏定义“#define R 2+3”,则R*R的宏替换结果正确的是( B )。

A (2+3)*(2+3)B 2+3*2+3C 5*5D 5.0*5.07. 设整形变量I的值为3,则表达式i---i的值为( A )。

A 0B 1C 2D 38. 表达式“10!=9”的值为( D )。

A trueB 非零值C 0D 19. 设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值为( D )。

A 3B 0C 9D -1210. 下列选项中,正确的赋值表达式为( C )。

A a=7+b+c=a+7B a=7+b++=a+7C a=(7+b,b++,a+7)D a=7+b,c=a+711. 若有以下定义语句:char a;float c; double d; 则表达式a*b+d-c值的类型为( D )。

A floatB intC charD double12. 用十进制数表示表达式“12||012”的运算结果是( A )。

A 1B 0C 14D 1213. 下列一组运算符中,优先级别最高的运算符是( C )。

A <=B =C %D &&14. 设定“ char a=3,b=6,c;”,计算表达式c=(a^b)<<2后c的二进制值是( D )。

A 00011100B 00000111C 00000001D 0001010015. 设x,y,z,t 均为int类型,则执行下列语句串后,变量t的值为(C )。

C语言考试复习题

C语言考试复习题

11.如下定义“char c1=’a’, c2=’b’, c3=c1-c2;”后执行printf(“%d”,c3);结果为无任何显示。( )
12.可以有如下定义:“int a=b=c=0;”。( )
13.执行“int x=4, y=5; float z=x/y;”后,z的值为0.8。( )
A.0 B. C. 2 D. -1
20. 下列程序执行后的输出结果是( )。
A. G B. H C. I D. J
main ( )
{ int x=’f’;printf(“%c\n”,’A’+(x-‘a’+1));}
21. 下列程序执行后的输出结果是( )。
printf(“%d\n”,d*y); }
18. 下列变量定义中合法的是( )。
A.short _a=.1e-1; B. double b=1+5e2.5;
C. long do=0xfdaL; D. float 2_and=1-e-3;
19. 设“int x=1,y=1;“,表达式(!x||y--)值是( )。
3. 字符型常量在内存中存放的是( )。
A.ASCII码 B. BCD码 C. 内部码 D. 十进制码
4. 若变量a,i已正确定义,且i已正确赋值,合法的语句是( )。
A. a==1 B. ++i; C. a=a++=5; D. a=int(i);
A.复数型 B. 逻辑型 C. 双精度型 D. 集合型
15.在C语言中,不正确的int类型的常数是( )。
A.32768 B. 0 C. o37 D. oxAF
16. 当c的值为0时,在下列选项中能正确将c的值赋给变量a,b的是( )。

C语言常见复习题(选择填空)及参考答案

C语言常见复习题(选择填空)及参考答案

C语言常见复习题及参考答案一、选择题1.下述标识符中,()是合法的用户标识符。

A.A#CB.getchC.voidD.ab*2.在C语言中,字符型数据在内存中是以()形式存放的。

A.原码B.BCD码C.反码D.ASCII码3.以下选项中不合法的用户标识符是()。

A.abc.cB.fileC.MainD.PRONTF4.以下选项中不合法的用户标识符是()。

A.123B.printfC.Anbsp;D.Dim5.可以在C语言程序中用做用户标识符的一组标识符是()。

A.voidB.as-b3C.forD.2cdefine -123 -abc DoWORD If cas SIG6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。

(1)A.001 B.table_1 C.0_t D.k%Int t*.1 W10 point(2)A.Fast_ B.void C.pbl D.Fast+Big abs fabs beep(3)A.xy_ B.longdouble C.*p D.CHAR变量1 signed history Float7.()是构成C语言的基本单位。

A.函数B.过程C.子程序D.子例程8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。

(1).A.包含3个字符 B.包含2个字符C.包含1个字符D.无定值,说明不合法(2).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法(3).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法9.若x为int型变量,则执行以下语句后,x的值为x=6;x+=x-=x*xA.36B.-60C.60D.-2410.在C语言中,char 型数据在内存中是以()形式存储的。

A.原码B.补码C.ASCII码D.反码11.以下运算符中优先级最低的算符为(),优先级最高的为()。

C语言复习题与答案

C语言复习题与答案

考试时选择题部分需要涂答题卡,请带2B铅笔考试题型:单项选择:填空题:读程序:程序填空:编写程序:一、单项选择1.一个C语言程序是由()。

A.函数组成B.一个主程序和若干子程序组成C.若干过程组成 D.若干子程序组成2.在C语言中,复合语句()。

A. 必须出现在循环或分支中B. 必须包含多条语句C. 必须使用{}将有关语句括起来D. 以上三种都对3. 以下叙述不正确的是()。

A.一个C源程序可由一个或多个函数组成B. 一个C源程序必须包含一个main函数C. C程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面4. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。

A.必须为字母B.可以是字母、数字和下划线中任一种字符C.必须为下划线D.必须为字母或下划线5. 下面不正确的字符串常量是()。

A. …abc‟B.“12‟12”C.“0”D.“”6. 下面正确的字符常量是()。

A."c" B. "\\" C. 'W' D. ''7. 以下表达式值为3的是()。

A.16-13%10 B. 2+3/2C. 14/3-2D.(2+6)/(12-9)8. 下列表达式的值为0的是()。

A. 3<5B. 3/5.0C. 3/5D. 3%59. 若有代数式3ae/(bc),则不正确的C语言表达式是()。

A. a/b/c*e*3B. 3*a*e/b/cC. 3*a*e/b*cD. a*e/c/b*310. 在C语言中,要求运算数必须是整型的运算符是()。

A. /B. ++C. !=D. %11. 若x、i、j和k都是int型变量,则执行下面表达式后x的值为()。

x=(i=4,j=16,k=32)A. 4B. 16C. 32D. 5212. 执行表达式a=12,a=a+13,a+20后a的值为()。

C语言考试复习题及答案

C语言考试复习题及答案

一、单选题(请将正确答案写在答题纸,1~20题每题1分,21~35题每题2分,共50分)1. 下列关于C语言的说法不正确的是( D )。

A.C语言既具有高级语言的一切功能,也具有低级语言的一些功能B.注释可以出现在程序中任意合适的地方C.C语言中的每一条执行语句都必须用分号结束,分号是C语言的一部分D.定义函数的首行要加分号2. C语言程序的执行顺序是(B)。

A.从第一个函数开始执行B.从main函数开始执行C.从任意函数开始执行D.从第一条语句开始执行3. 以下关于注释的叙述,正确的是(D)。

A.注释参与编译,影响程序结果B.注释不参与编译,但影响程序结果C.注释参与编译,但不影响程序结果D.注释不参与编译,不影响程序结果4. 以下叙述正确的是(A)。

A.C语言程序可以在任意C编译器下编译B.C语言程序只能在TC环境下编译C.C语言程序只能在VC或TC环境下编译D.C语言程序只能在VC环境下编译5. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( B )。

A.必须为字母B.必须为下划线或字母C.必须为下划线D.可以是字母,数字和下划线中任一字符6. 下面四个数字常量选项中,书写均正确的是(D)。

A.016 0x8f 018 (零开头的是八进制,不能用8)B.0312 7ff -087(8进制没有符号)C.0xbc 0a7(8进制没有a)0xaD.070 0xf1 0x19(16进制以ox开头)7. 若有说明语句:char c=0x7f;则变量c(B)。

A.包含3个字符B.包含1个字符C.包含2个字符D.说明不合法,c的值不确定8. 设有int x=11;则表达式(++x*1/3)的值是( B )。

(11+1再除以3)A.3B.4C.11D.129. 阅读下面程序段,输出结果为( B )。

(z-a=25)#include "stdio.h"void main(){ char c;c=('z'-'a')/3+'A';putchar(c);}A.HB.JC.ID.K10. 若有定义和语句:int a=23,b=023; printf(“%x,%d \n”,a,b);输出结果是( D )。

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)以下程序的运行结果是#incl ude “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语言试题库完整版1. 数据类型与变量1.1 整型数据类型C语言中的整型数据类型包括:char、short、int和long。

它们分别占用不同字节大小的存储空间,用于表示不同范围内的整数值。

请回答以下问题:(1)char类型变量占用的存储空间是多少字节?(2)int类型变量占用的存储空间是多少字节?(3)long类型变量占用的存储空间是多少字节?1.2 浮点型数据类型C语言中的浮点型数据类型包括:float和double。

它们用于表示带有小数部分的实数值。

请回答以下问题:(1)float类型变量占用的存储空间是多少字节?(2)double类型变量占用的存储空间是多少字节?1.3 布尔型数据类型C语言中并没有定义布尔型数据类型,但可以通过其他方式来模拟实现布尔类型。

请说明如何用C语言实现布尔型数据类型,并给出示例代码。

1.4 常量与变量常量是指在程序运行过程中其值不发生改变的量,而变量是可以在程序运行过程中赋予不同值的量。

请回答以下问题:(1)常量在C语言中如何声明?(2)变量在C语言中如何声明?(3)常量可以修改吗?为什么?2. 控制语句2.1 循环语句C语言提供了多种循环结构,包括:while、do-while和for循环。

请回答以下问题:(1)while循环和do-while循环的区别是什么?(2)for循环的语法结构是怎样的?2.2 分支语句C语言中的分支语句包括:if语句、switch语句和三元运算符。

请回答以下问题:(1)if语句的语法结构是怎样的?(2)switch语句的语法结构是怎样的?(3)三元运算符的使用方法是怎样的?3. 函数与数组3.1 函数函数是C语言程序的基本组成单位,用于封装可重用的代码块。

请回答以下问题:(1)函数的定义包括哪些部分?(2)函数的调用过程是怎样的?(3)函数的返回值可以是什么类型?(4)递归函数和普通函数有何不同?3.2 数组数组是一种用于存储多个相同类型数据的集合。

c语言复习题(有答案)●

c语言复习题(有答案)●

思考题不仅要会做这些题,更重要的是要掌握其相关知识点一、一般填空题1-1、调用fopen函数打开一文本文件,在“打开模式”这一项中,为输出(写)而打开需填入【1】. 1-2、调用fopen函数打开一文本文件,在“打开模式”这一项中,为追加而打开需填入【1】.1-3、fopen函数的原形在头文件【1】中.1-4、getchar函数的原形在头文件【1】中.1-5、sqrt函数的原形在头文件【1】中.1-6、如果函数不要求带回值,可用【1】来定义函数返回值为空.答案:w或w+;a或a+;stdio.h ; stdio.h ; math.h ;void .2-1、字符串“\1011234\\at”的长度(字符数)是【1】.2-2、字符串“abc\103\\bcd”的长度(字符数)是【1】.2-3、字符串“1\\t\x43\abx44”的长度(字符数)是【1】.2-4、“a“在内存中占【1】个字节.2-5、‘a’在内存中占【1】个字节.2-6、“\71“在内存中占【1】个字节.2-7、一维数组下标的最小值是【1】;数组char a[]=“china” ;在内存应占【1】个字节。

答案:8; 8; 9; 2;1;2 ;0;6.3-1、设x=(5>1)+2, x的植为【1】.3-2、表达式‘B’+15+‘\x41’+011+0x10的值是【1】.3-3、表达式‘b’+5+‘\x42’+011+0x10的值是【1】.答案:3;171;194;4-1、假设所有变量都为整型,表达式(a=2,b=5,a>b?a++:b++,a+b)的值是【1】.4-2、if(!a)中的表达式!a等价于【1】.4_3、已知a=1,b=2,c=3,执行if(a>b>c) b=a;else b=c;a=4;b=8;后,b的值是【1】.答案:8;a==0;8;5-1、若所用变量都已定义,下列程序段的执行结果是【1】.for(i=1;i<=5;i++);printf(“OK\n”);5-2、执行语句char s[3]=”ab”,*p;p=s;后,*(p+2)的值是【1】.5-3、若有以下定义和语句:int a[4]={0,1,2,3},*p; p=&a[2]; ,则*--p的值是【1】.5-4、下列程序的输出结果是【1】,main(){int a=011;printf(“%d\n”,++a);}答案:OK;’\0’;1;106-1、若宏定义为:#define y(x) 2+x, 则表达式a=3*y(3)的值为【1】.6-2、若宏定义为:#define y(x) 2+x, 则表达式a=4*y(2)的值为【1】.6-3、若宏定义为:#define y(x) 2/x, 则表达式a=4+3*y(3)的值为【1】.答案:9;10;6 .二、单项选择题1-1、若以"a+"方式打开一个已存在的文件,则以下叙述正确的是()。

c语言复习试题及答案

c语言复习试题及答案

c语言复习试题及答案C语言复习试题及答案一、选择题1. C语言中,一个整型变量的取值范围是:A. -128 到 127B. -32768 到 32767C. -2147483648 到 2147483647D. 取决于编译器答案:D2. 下列哪个关键字用于定义C语言的结构体?A. structB. defineC. unionD. enum答案:A3. C语言中,字符串在内存中是以什么方式存储的?A. 字符串名B. 字符串长度C. 字符串本身D. 字符串结束标志 '\0'答案:D4. 在C语言中,函数返回值的类型由什么决定?A. return 语句B. 函数名C. 函数定义时指定的类型D. 函数参数的类型答案:C5. 下列哪个操作符不能用于位操作?A. &B. |C. ^D. ++答案:D二、填空题6. C语言中,预处理器指令 `#include` 的作用是_______。

答案:引入其他文件7. `int main()` 函数中的 `void` 表示该函数_______。

答案:不返回任何值8. 在C语言中,数组的索引是从_______开始的。

答案:09. `printf` 函数的返回类型是_______。

答案:int10. 表达式 `3.0 / 0` 在C语言中会导致_______。

答案:运行时错误三、简答题11. 请简述C语言中指针的概念及其用途。

答案:指针是一种变量,它存储的是另一个变量的内存地址。

指针在C语言中用于直接访问内存、动态内存分配、数组操作、函数参数传递等。

12. 解释C语言中数组和指针之间的关系。

答案:在C语言中,数组名可以作为指针使用,它指向数组的第一个元素的地址。

通过指针可以遍历数组,也可以通过指针修改数组元素的值。

四、编程题13. 编写一个C语言程序,实现对整数数组的排序。

```c#include <stdio.h>void sort(int arr[], int n) {int i, j, temp, min_idx;for (i = 0; i < n - 1; i++) {min_idx = i;for (j = i + 1; j < n; j++) {if (arr[j] < arr[min_idx]) {min_idx = j;}}if (min_idx != i) {temp = arr[i];arr[i] = arr[min_idx];arr[min_idx] = temp;}}}int main() {int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]);sort(arr, n);printf("Sorted array: \n");for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}printf("\n");return 0;}```14. 编写一个C语言程序,实现字符串的反转。

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

1.下面程序的功能是计算 n! 。
#include <stdio.h>
main ( )
{
int
i, n;
long
p;
printf ( "Please input a number:\n" );
scanf ("%d", &n);
p=
1
;
for (i=2; i<=n; i++)
p*=i 或 p=p*i
;
3.某 C 程序由一个主函数 main( ) 和一个自定义函数 max( ) 组成,则该程序(
D )。
A.总是从 max( ) 函数开始执行 C.写在后面的函数先开始执行
B.写在前面的函数先开始执行 D.总是从 main( ) 函数开始执行
4. C 语言规定,一个 C 源程序的主函数名必须为(
C
A. program
题解 2 基本数据类型与运算符
2.1 习题
一、选择题
1. C 语言中最基本的非空数据类型包括(
D
)。
A.整型、浮点型、无值型
B.整型、字符型、无值型
C.整型、浮点型、字符型 2. C 语言中运算对象必须是整型的运算符是(
D.整型、浮点型、双精度型、字符型 A )。
A. %
B. /
C.=
3.若已定义 x 和 y 为 int 类型,则执行了语句 x=1 ; y=x+3/2 ;后 y 的值是( B
12.对于 for ( 表达式 1; ; 表达式 3) 可理解为( B A. for ( 表达式 1; 0 ; 表达式 3)
)。Leabharlann B. for ( 表达式 1; 1 ; 表达式 3)
C. for ( 表达式 1; 表达式 1; 表达式 3)
D. for ( 表达式 1; 表达式 3; 表达式 3)
二、程序填空
第 2部 分 C语言程序设计习题与解答
题解 1 绪 论 1.1 习题 一、选择题
B 1.一个完整的可运行的 C 源程序中(
A.可以有一个或多个主函数 C.可以没有主函数
)。 B.必须有且仅有一个主函数
D.必须有主函数和其他函数
2.构成 C 语言源程序的基本单位是(
D )。
A.子程序
B.过程
C.文本
D.函数
C. while 的循环体至少无条件执行一次
D. while 的循环控制条件比 do-while 的严格
7.语句 while (!a); 中条件等价于(
D )。
A. a!=0
B. ~a
8.以下程序的运行结果为(
D
)。
)。
B.循环体执行二次 D.循环条件不合法
C. a==1
D. a==0
#include <stdio.h> main( ) {
C. 2
14.如果 a=1,b=2,c=3,d=4 ,则条件表达式 a<b?a:(c<d?c:d 的值为(
A )。
A. 1 15.设 int m=1,n=2;
B. 2 则 m++==n的结果是( A
)。
C. 3
A. 0
B. 1
C. 2
二、填空题
1.表达式 10/3 的结果是
3
; 10%3 的结果是
1
A.建立并修改程序 C.跟踪分析程序的执行
B.将 C 源程序编译成目标程序 D.显示编译结果信息(如语法错误等)
8.在 Visual C++ 6.0 开发环境下, C 程序按工程( project )进行组织,每个工程可包括(
D )C/CPP 源文件,但只能有(
A )main
函数。 A. 1 个 C. 3 个
#include<stdio.h> main( ) {
int a,b,x; x=(a=3,b=a--); printf("x=%d,a=%d,b=%d\n",x,a,b); }
5.以下程序的执行结果是
0

#include<stdio.h> main( ) {
float f1,f2,f3,f4; int m1,m2; f1=f2=f3=f4=2; m1=m2=1; printf("%d\n",(m1=f1>=f2)&&(m2=f3<f4)); }
}
min=score;
3.下面程序的功能是:计算 y=
#include <stdio.h>
#include <math.h>
main ( ) {
float
x , y=0, fz=-1, fm=-1, temp=1;
printf ( "Please input the value of x:\n" );
A )。
B.循环体执行二次 D.循环条件不合法
a=1; do {a=a*a; } while(!a);
A.循环体只执行一次
C.是无限循环
6. C 语言中 while 与 do-while 语句的主要区别是(
A
A. do-while 的循环体至少无条件执行一次 B. do-while 允许从外部跳到循环体内
C
),经过 Compile 后,生成文件的后缀是(
A
),经过 Build 后,生成文
件的后缀是(
B )。
A. .obj
B. .exe
C. .c
D. .doc
A 7.Visual C++ 6.0 IDE 的编辑窗口的主要功能是 (
D ),输出窗口的主要功能是 (
C ),调试器 ( Debug)的主要功能是 ( )。
B. include
)。 C. main
D. function
5.下列说法正确的是(
C
)。
A.在书写 C 语言源程序时,每个语句以逗号结束 B.注释时, '/' 和 '*' 号间可以有空格 C.无论注释内容的多少,在对程序编译时都被忽略 D. C 程序每行只能写一个语句
6. C语言源程序文件的后缀是(
scanf ("%f", &x);
)。
A. 1
B. 2
C. 2.0
4.若有以下程序段:
D.〈 = D. 2.5
int a=1,b=2,c; c=1.0/b*a;
则执行后, c 中的值是( A A. 0
)。 B. 0.5
5.能正确表示逻辑关系: "a≥ 10 或 a≤ 0" 的 C 语言表达式是( D
A. a>=10 or a<=0
C. a>=10 && a<=0
D. zwd D. \\
int a=10;
则表达式 a+=a *=a 的值为( D A. 10
)。 B. 100
9.设先有定义:
int a=10; 则表达式 (++a)+(a --) 的值为(
C )。
A. 20 10.有如下程序:
B. 21
#include <stdio.h>
main( )
{
int y=3,x=3,z=1;

2.执行语句: int a=12;a+=a-=a*a; 后的值是
-264

3.以下语句的输出结果是
-1

short b=65535; printf("%d",b);
4.以下程序的执行结果是
X=3, a=2, b=2

D. 200 D. 19
D. 3 3
D. 1 D. D D. 3 D. 4 D. 3
B. a=2,b=10
C. a=%%d,b=%%d
D. a=%d,b=%d
11.为了避免嵌套的 if-else 语句的二义性, C语言规定 else 总是(
C )。
A.与缩排位置相同的 if 组成配对关系
B.与在其之前未配对的 if 组成配对关系 C.与在其之前未配对的最近的 if 组成配对关系
D.与同一行上的 if 组成配对关系
D.逻辑设计错误
二、简答题
1.如何使用注释语句?使用注释有何好处?
2. C 程序对书写格式有何要求?规定书写格式有何好处?
符号名包括模块名、 常量名、 标号名、 子程序名等。
这些名字应该能反映它所代表的实际东西, 具有一定的意义, 使其能够见名知义, 有助于对
程序功能的理解
3.简述 C 程序上机调试的一般步骤? 编辑,编译,连接,运行
max=min=score;
while (
score>=0
)
{
if (score>max)
max=score;
if (
score<min
)
printf ( "Please input another score:\n" ); scanf ("%f", &score);
}
printf("\nThe max score is %f\nThe min score is %f", max, min);
printf("n!=%ld", p);
}
2.下面程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高和最低成绩,当输入负数时结束输入。
D. 4
#include <stdio.h>
main ( ) {
相关文档
最新文档