C程序设计复习题
- 格式:doc
- 大小:67.50 KB
- 文档页数:10
c程序设计试题及答案一、选择题(每题2分,共20分)1. 下列选项中,哪一个是C语言的标准输入输出库函数?A. printf()B. scanf()C. getchar()D. A和B答案:D2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. return答案:A3. 以下哪个语句用于结束C程序的执行?A. break;B. continue;C. exit();D. return;答案:C4. C语言中,哪个类型用于表示字符?A. charB. stringC. characterD. letter答案:A5. 在C语言中,以下哪个运算符用于判断两个值是否相等?A. ==B. !=C. <D. >答案:A6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. +D. -答案:A7. 在C语言中,哪个关键字用于定义一个数组?A. arrayB. listC. vectorD. None of the above答案:D8. 下列哪个选项是C语言中的循环结构?A. ifB. whileC. switchD. case答案:B9. 在C语言中,哪个关键字用于声明一个变量为静态存储类别?A. staticB. autoC. registerD. extern答案:A10. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. All of the above答案:D二、填空题(每空1分,共10分)1. 在C语言中,使用________关键字可以定义一个结构体。
答案:struct2. 一个C语言程序的执行从________函数开始。
答案:main3. 在C语言中,________运算符用于取反一个逻辑值。
答案:!4. 一个C语言数组的索引是从________开始的。
答案:05. 使用________函数可以在C语言中动态分配内存。
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是 ( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
程序设计基础复习题一、填空题1、C语言所提供的实型变量分为两种类型,它们是。
2、一个C源程序中至少应包含一个。
3.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+’8’-’3’的值为。
4.在标准C语言中,输入操作是由库函数完成的,输出操作是由库函数完成的。
5.对以下说明:int c[10] = {116, 125, 218, 312, 100, 40, 13, 67, 186};c[4]的值为。
6.在C语言中,引用数组元素时,引用数组元素时,其数组下标的数组类型允许是。
7.设y为int 型变量,请写出描述“y是偶数”的表达式。
8.设int i=0,j=1,k=2,a=3,b=4; 执行表达式(a=i<j)&&(b=j>k)的值为。
9.与表达式 a+=b 等价的另一书写形式是。
10.有以下定义和语句int a[3][2]={1,2,3,4,5,6,},*p[3];p[0]=a[1];则*(p[0]+1)所代表的数组元素是。
11.代表一个反斜杠字符“\”的转义字符是。
12.变量的指针就是变量的地址,存放变量地址的变量就是,它用来指向另一个变量。
13.++i和i++的不同之处在于。
14.设x、y和z是int 型变量,且x=3,y=4,z=5, 则表达式! ((x<y) && !z||1)值为。
15.已知函数int f(int k) { return ((k<0)?1:f(k-2)+2); }则 f(3)的值是。
16.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为。
17.计算表达式:x=(i=4, j=10, k=24)后,x的值为。
18.若a和b均是int型变量,且a和b的初值均为5,则计算表达式 a+=b++ 后,a的值为,b的值为。
19.设int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a; 则表达式*(p+8)的值是。
一、单项选择题(每小题2分,共50分)1、一个C程序的执行是从___A__.A、本程序的main函数开始,到main函数结束B、本程序的main函数开始,到本程序文件的最后一个函数结束C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束2、C语言程序的基本单位是___C___。
A、程序行B、语句C、函数D、字符3、请选出可用作C语言用户标识符的一组标识符___B___。
A、voidB、a3_b3C、ForD、2adefine _123 —abc DOWORD IF ase sizeof4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是__C__ 。
A、4。
500000B、4C、4.000000D、2.0000005、下列可以正确表示字符型常量的是___D__。
A、297B、”a"C、”\n”D、'\t'6、在C语言中,要求运算数必须是整型的运算符是__D__。
A、/B、++C、*=D、%7、C语言中,复合语句的构成是将一系列语句置于__C__。
A、begin与end之间B、方框号“[ ]”之间C、花括号“{}"之间D、圆括号“()”之间8、有如下程序段,对应正确的数据输入是___A___。
float x,y;scanf(”%f%f”,&x,&y);printf(”a=%f,b=%f”, x,y);A、2.04<回车>B、2.04,5。
67<回车>5.67〈回车>C、A=2。
04,B=5.67<回车〉D、2。
045。
67〈回车>9、以下程序段的输出结果是___D__。
int a=5678;printf(”%2d\n”, a);A、提示出错、无结果B、56C、78D、567810、已知:char ch=’A';则下列表达式的值是__B__。
C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。
答案:42. C语言中,使用______关键字可以定义一个无限循环。
答案:while3. C语言中,数组的元素默认初始化为______。
C 语言程序设计复习题一、单项选择题1.以下关于C 程序的说法中错误的是( D )。
A )必须有一个且只能有一个主函数B )可以有任意多个不同名的函数C )必须用main 作为主函数名D )主函数必须放在其他函数之前2.以下叙述中正确的是(A )。
A )C 程序中注释部分可以出现在程序中任意合适的地方B )花括号“{”和“}”只能作为函数体的定界符C )构成C 程序的基本单位是函数,所有函数名都可以由用户命名D )分号是C 语句之间的分隔符,不是语句的一部分3.以下叙述中正确的是( C )。
A )C 程序的基本组成单位是语句B )C 程序中的每一行只能写一条语句C )简单C 语句必须以分号结束D )一个C 语句必须在一行内写完4. 下列关于C 程序的说法错误的是( B )。
A )一个程序必须有一个main 函数B )函数首部后面必须有分号C )可以使用“/* */”来注释一段代码D )每个语句的末尾必须有分号5. 下列关于C 程序的说法错误的是( D )。
A )stdio.h 是输入输出头文件B )一个C 语句必须以分号结束C )VC6.0中可以使用“//”来注释一行D )#define 命令不是预处理命令6.下面四个选项中,均是合法的标识符是( )。
A )abc A_4d _student xyz_abcB )auto 12a a_b ab5.xC )A_4d student xyz_abc ifD )abc a_b union scan7.按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( C )。
A )大写字母B )数字字符C )-D )下划线8.C 语言提供的合法的数据类型关键字是( B )。
A )DoubleB )shortC )integerD )Char9.下列数据中,不合法的C 语言实型数据是( C )。
A )0.123B )123e3C )2.1e3.5D )789.010. 下列选项中,不能作为C 语言标识符的是( C )。
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
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语言是结构化、________的程序设计语言。
C程序设计复习题:一、填空1、设变量a=11,表达式a+=a%=3运算后变量a的值为 C a=11/4=2 (3)A) 13 B) 6 C) 4 D) 142、下列运算符中优先级最高的是DA) || B) + C) != D) *3、有定义如下:int a=0 , b=1 ,c=3 ;则表达式a||b+c&&b-c的值为B非0即1A) 2 B) 1 C) 0 D) -14、执行语句for ( x = 1 ; x-- <= 5 ; x +=3 ) ; 后变量x的值是 BA) 5 B) 6 C) 7 D) 8x=1 x-1=4<=5 x=x+3=7 7-1=6>5 所以x=65、以下程序 Bmain(){int x =1;while( x<=10 ) ;x++;printf(“%d\n”,x);}A)运行结果为11。
B)语句while( x<=10 ) ;构成了死循环。
C) 运行结果为2。
D) 语句while( x<=10 ) ;有语法错误。
6、函数定义f ( int a , int b ){ …. }对其描述正确的是▁▁A▁▁。
A) 该函数的返回值类型为intB) 该函数没有返回值,所以不用说明其类型C) 该函数的返回值类型为voidD) 该函数的返回值类型由函数内部的return语句返回值的类型确定7、设变量定义为char ch ;下面能判断出变量ch为大写字母的表达式是▁▁▁C▁。
A) …A‟<=ch<=‟Z‟B) (ch>=‟A‟)&(ch<=‟Z‟)C) (ch>=‟A‟)&&(ch<=‟Z‟) D) (…A‟<=ch)||(…Z‟>=ch)8、若二进制文件abc.dat在磁盘上已经存在,现要在文件尾增加新内容,则正确的打开方式是▁A▁▁▁。
A)fp = fopen ( “abc.dat” , “ab” ) ;B)fp = fopen ( “abc.dat” , “a+” ) ;C)fp = fopen ( abc.dat , “ab+” ) ;D) fp = fopen ( “abc.dat” , “wa” ) ;9、有如下定义int a[10] = {0,1,2,3,4,5,6,7,8,9};语句for ( i = 0 ; i < 10 ; i ++ )a[ i ] = a[ i%3 ] ;执行后数组元素a[5]的值为▁▁▁A▁。
A) 2 B) 3 C) 4 D) 5a[5]=4 4/3=1...1 5/3=1 (2)10、若有说明:int *p1 , *p2 , *pt , x =5 , y =8 ,t ;以下不能实现交换变量x和y的内容的语句选项是▁▁D▁▁A) p1=&x ; p2=&y ; t =*p1 ; *p1 = *p2 ; *p2 = t ;B) p1=&x ; p2=&y ; t = x ; x = y ; y = t ;C) p1=&x ; p2=&y; pt = &t; *pt =*p1 ; *p1 = *p2 ; *p2 = *pt ;D) p1=&x ; p2=&y ; pt =p1 ; p1 = p2 ; p2 = pt ;11、下面有关for循环的正确描述是▁▁D▁▁。
A) for循环只能循环次数已经确定的情况B) for循环是先执行循环体语句,后判断表达式C) 在for循环中,不允许用break语句跳出循环体D) for循环中的循环体可能一次都不执行12、对数组a和b进行如下初始化char a[ ] = { “12345” } ;char b[ ] = { …1‟ , …2‟ , …3‟ , …4‟ , …5‟ } ;则以下叙述正确的是▁▁B▁▁A)数组a与数组b都存放字符串B) 数组a比数组b的长度长C) 数组a与数组b完全相同D) 数组a与数组b的长度相同13、在宏定义#define PI 3.14159 中,用宏名PI代替一个▁▁▁A▁A) 字符串B) 常量C) 单精度数D) 双精度数14、若有说明int a[ ][3] = {1,2,3,4,5,6,7} ; 则a数组第一维的大小是▁▁C▁▁A) 不确定B) 2 C) 3 D) 415、若有结构变量及指针变量定义:struct student_type{ char name[10] ;int age ;} stud , *p ;p = &stud ;则以下对结构体变量stud中成员age的引用方式不正确的是▁▁D▁▁A) stu.age B) p->age C) (*p).age D) *p.age16、以下叙述不正确的是▁D▁▁▁A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,main函数必须位于程序的最前面17、以下5种基本数据类型的存储空间长度的排列顺序为▁▁▁A▁。
A)char < int < long int <= float < doubleB)char = int < long int <= float < doubleC)char < int < long int = float = doubleD)char = int = long int <= float < double18、有定义如下:char a;int b;float c;double d;则表达式a * b + d – c值的数据类型为▁▁▁D▁A) float B) char C) int D) double19、设变量定义为 int x ;下面表达式中能正确判断10<=x<=99的表达式是▁▁C▁▁。
A) 10 <= x <= 100 B) ( x=> 10 ) & ( x <= 99 )C) ( x=> 10 ) & ( x <= 99 ) D) ( x=> 10 ) AND ( x <= 99 )20、若有定义:int a = 7 ;float x = 2.5 , y = 4.7;则表达式 x + a % 3 * (int)(x + y) % 2 / 4 的值是▁▁A▁▁A) 2.5 B) 2.75 C) 3.5 D) 0.021、函数定义如下:f(a)int a;{printf(“%d\n”,a);}函数f的返回值类型是▁▁A▁▁A) int B) void C) 没有返回值 D) 函数定义错误22、当a = 1 , b = 3 , c = 5 , d = 4时,执行以下程序段if ( a < b )if ( c < d ) x = 1 ;elseif ( a < c )if ( b < d ) x = 2 ;else x = 3 ;else x = 6 ;else x = 7 ;后x的值是▁▁▁B▁。
A) 1 B) 2 C) 3 D) 623、设有程序段int x = 10 ;while ( x = 0 ) x = x – 1 ;则下列描述中正确的是▁▁C▁▁。
A)while循环体执行10次B)循环是一个死循环C)循环体语句一次也不执行D)循环体语句只被执行一次24、若用数组名作为函数调用的实参,传递给形参的是▁▁A▁▁A)数组的首地址 B)数组第一个元素的值C)数组中全部元素的值 D)数组元素的个数25、以下对一维整型数组a的正确说明是▁▁D▁▁A) int a ( 10 ) ; B) int n = 10 , a [ n ] ;C) int n ; D) #define SIZE 10scanf ( “%d” , &n ) ; int a [ SIZE ] ;int a [ n ] ;26、程序段for ( i = 1 ; i++ < 5 ; i ++ ) i ++ ;运行后变量i的值为▁▁C▁▁A) 6 B)7 C) 8 D) 927、若有说明:int *p , m=5 ;以下正确赋值语句是▁▁B▁▁A)p = m ; B)p = &m ;C)*p = m ; D)*P = &m;二、读程序写结果(按输出格式书写)1、main( ){ int m , n , k ;m = n = 0 ; k = 20 ;while ( k >= 5 ){ if ( k%2 == 0 ) { k /= 2 ; m ++ ;}else { k /= 3 ; n ++ ; }k += 3 ;}printf ( “m=%d , n=%d , k=%d\n” , m , n , k ) ;}答案:m=1, n=3, k=42、int a , b ;main( ){ int a , x , y ;x = 1 ; y = 2 ;a = f(&y , x ) ;printf ( "a=%d , b=%d , x=%d , y=%d\n" , a , b , x , y ) ;}f ( int *x , int y ){ int a;a =b = *x ;*x = a + y ;y=a;return ( a + b ) ;}答案:a=4, b=2, x=1,y=33、#include < stdio.h >s ( char *s ){ char *p = s ;while ( *p ) p ++ ;return ( p - s ) ;}main( ){ char a[ ] = { "abcdefg" } ;int k ;k = s ( a ) ;printf ( "%d\n" , k ) ;}答案:74、main( ){int s , i ;i = 1 ; s = 2 ;while ( s < 15 ){ if ( ++s % 3 != 0 ) continue ;else ++i ;s += i ;}printf ( “s=%d , i = %d \n” , s , i ) ;}答案:s=16,i=45、main ( ){int a [ ] = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;int k ;for ( k = 0 ; k < 10 ; k += 2 )if ( k%4 ) a [ k ] -= 1;else a [ k ] += 1 ;for ( k = 0 ; k < 10 ; k++ )printf ( "%d " , a [ k ] ) ;printf ( "\n" ) ;}答案: 1 1 1 3 5 5 5 7 9 9三、程序填空1、以下函数的功能是,求具有n个元素的数组中偶数的平均值,平均值由函数名返回。