C程序习题 总复习

合集下载

期末C程序考试复习题答案

期末C程序考试复习题答案
A、x*y/u*v B、x*y/u/v C、x*y/(u*v) D、x/(u*v)*y
29、设有程序段
int a=8;
while(a=0) a++;
则下面描述正确的是( C )。
A、while循环执行10次 B、循环是无限循环
C、循环体一次也不执行 D、循环体只执行一次
C、ch=‘7’+‘9’ D、ch=7+9
2、以下4组用户定义标识符中,全部合法的一组是 (A ) 。
A、s_5 B、If C、txt D、int
about -max REAL k_2
24、下列形式的常数中,C程序不允许出现的是( D )。
A、 0.98 B、 6e4 C、 77.6e-2 D、 E8
25、分析以下程序:
void main( )
{ int x=5,a=0,b=0;
if(x=a+b) printf("** **\n");
( A )
A、1 0 B、0 1 C、非0 非0 D、1 1
22、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( C )。
[转] 期末C程序考试复习题答案(选择题和填空题) 转载自 万洪超 转载于2010年06月18日 16:37 阅读(2) 评论(0)
分类: 转转 举报
一、单选题:
1、已知ch是字符型变量,下面不正确的赋值语句是( B )。
A、ch=‘\0’ B、ch=‘a+b’
A、1 B、2 C、-1 D、-2
5、已知:int i=5;执行语句i+=++i;后,i的值是( C )

C程复习资料

C程复习资料

补充习题解答1:1.C 语言程序中可以对程序进行注释,注释部分必须用符号_____括起来。

A、‘{‘和’}’B、‘[‘和’]’C、“/*”和”*/”D、“*/”和”/*”答案:C,这题大家基本都没问题。

2.下列运算符中,优先级最低的是_____。

A、*B、!=C、+D、=答案:D。

本题考察的是运算符的优先级问题,顺序为:初等运算符>单目运算符>算术运算符>关系运算符>逻辑运算符>条件运算符>赋值运算符>逗号运算符.请大家记住这个顺序。

另外,大家在写程序的时候并不能够准确地确定优先级的时候,多加几对括号就可以了,因为在这种情况下读你程序的人可能也不确定优先级。

3.下列运算符中,优先级最低的是:_____A、*B、+C、==D、=答案:D,理由同上。

4.已知字符‘a’的ASCII码为97 ,执行下列语句的输出是_____。

printf ("%d, %c", ’b’, ’b’+1 ) ;A、98, bB、语句不合法C、98, 99D、98, c答案:D。

每一个字符都对应一个整型数值的ASCII码,故可以将字符以int型输出,反过来,也可以将符合ASCII码的int型数值进行字符。

关键在于输出格式控制。

5.有程序段如下:Int k=10;While(k=0)K=k-1;以下选项中描述正确的是_____。

A. 语句“k=k-1;”被执行10次。

B. 语句“k=k-1;”被执行1次。

C. 语句“k=k-1;”被执行无限多次。

D. 语句“k=k-1;”一次也不执行。

答案:D。

while循环体执行的条件为:while判断条件为真(非0为真0为假,特别注意,负数也为真)。

而本题的判断条件为k=0这个表达式的值,为0,故原题等价于while(0)。

所以在写程序的时候要特别避免类似的逻辑错误。

这两题很多同学有错。

6.写出判断一个年份为闰年的C语言表达式:______________________。

C程序设计复习题(二)

C程序设计复习题(二)

C程序设计复习题(二)C程序设计复习题(二)一、选择1、下面程序的运行结果是______#include#includemain(){ char a[80]=”AB”,b[80]=”LMNP”;int i=0;strcat(a,b);while(a[i++]!=’\0’) b[i]=a[i];puts(b);}A)LB B)ABLMNP C)AB D)LBLMNP2、下面程序的功能是将字符串s中所有的字符c删除。

请选择填空。

#includemain(){ char s[80];int I,j;gets(s);for(i=j=0; s[i]!=’\0’;I++)if(s[i]!=’c’)_________;s[j]=’\0’;puts(s);}A) s[j++]=s[i]; B)s[++j]=s[i]; Cs[j]=s[i];j++; D) s[j]=s[i];3、有下面的程序段:char a[3],b[]=”China”;a=b;printf(“%s”,a);则_______________。

A)运行后将输出China B)运行后将输出ChC)运行后将输出Chi D)编译出错4、下面程序段的运行结果是_______char a[7]=”abcdef”;char b[14]=”ABC”;strcpy(a,b);printf(“%c”,a[5]);A)<空格> B)\0 C)e D)f5、以下正确的说法是______在C语言中:A) 实参和与其对应的形参各占用独立的存储单元;B) 实参和与其对应的形参共占用一个存储单元;C) 只有当实参和与其对应的形参同名时才共同占用存储单元;D) 形参是虚拟的,不占用存储单元。

6、以下程序的运行结果是______fun(int x){ if(x/2>0) fun(x/2-2);printf(“%d”,x);}main(){ fun(20);printf(“\n”);}A)20 8 2 -1 B)2 8 20 C)8 D)-1 2 8 207、以下正确的说法是________如果在一个函数的复合语句中定义了一个变量,则该变量______A) 只在该复合语句中有效B) 在本程序范围内均有效C)在该函数中有效D) 为非法变量8、若使用一维数组名作为函数实参,则以下正确的说法是______A)必须在主调函数中说明此数组的大小B)实参数组类型与形参数组类型可以不匹配C)在被调函数中,不需要考虑形参数组的大小D)实参数组与形参数组名必须一致9、若有定义:int a[4][6];则能正确表示a数组中任一元素a[i][j](此处0≤i<4, 0≤j<6)地址的表达式是________。

C程序设计复习题

C程序设计复习题

二、计算题 1、 2.8 2、5.5 三、选择题 C A D C D B
3、a=60
4、4.5
C B C
A D
03. 分支、循环控制程序
一、 计算题
1.a=3,b=4,c=5,a+b>c&&b= =c 2.3>5?3:5<8?25:40 3.设 a=1,b=2,c=3,d=4,m=n=1,有表达式(m=a>b)&&(n=c>d),计算表达式后 m,n 的值?
二、 计算题
1. 2.8+7%3*11%2/4 2. 5/2+5.0/2+7%6 3. a=12,a*=2+3 4. 设 int b=7;float a=2.5,c=4.7;求下面表达式的值。 5. a+(int)(b/2*(int)(a+c)/2)%4
三、 选择题
1. 在 C 语言中,每个语句和数据定义是用( A)句号 B)逗号 下列字符串是标识符的是( ) 。 A)_HJ B)9_student )结束。 C)分号 D)括号
五、 将以下语句改写成 switch 语句:
if((t>0)&&(t<=10)) if((t>=3)&&(t<=6)) x=2; else if((t>1)||(t>8)) x=3; else x=1; else x=0; 参考答案: 一、计算题 1、0 2、25 二、选择题 B C D
3、m=0,n=1
超文本过程
(D)
子程序
5. 下列说法正确的是( ) (A) 一个函数的函数体必须要有变量定义和执行部分,二者缺一不可 (B) 一个函数的函数体必须要有执行部分,可以没有变量定义 (C) 一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数 (D) 以上都不对 6. 下列说法正确的是( ) (A) main 函数必须放在 C 程序的开头 (B) main 函数必须放在 C 程序的最后 (C) main 函数可以放在 C 程序的中间部分,即在一些函数之前在另一个函数之后, 但在执行 C 程序时是从程序开头执行的 (D) main 函数可以放在 C 程序的中间部分,即在一些函数之前在另一些函数之后, 但在执行 C 程序时是从 main 函数开始的 7. 下列说法正确的是( ) (A) 在执行 C 程序时不是从 main 函数开始的 (B) C 程序书写格式严格限制,一行内必须写一个语句 (C) C 程序书写格式自由,一个语句可以分写在多行上 (D) C 程序书写格式严格限制,一行内必须写一个语句,并要有行号

C程序设计复习题1

C程序设计复习题1

复习题1、一个C语言程序是由____B____。

A、函数首部和函数体组成B、一个主程序和若干子程序组成C、若干过程组成D、若干子程序组成2、属于合法的C语言长整型常量的是_____B_____ 。

A、5876273B、0LC、2E10D、(long)58762733、以下合法的赋值语句是____A______ 。

A、x=y=100;B、d――C、x+y;D、c=int(a+b)4、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为____B____。

A、1B、 2C、3D、 45、若运行时给变量x输入12,则以下程序的运行结果是___D_____。

int main(){int x,y;scanf(“%d”,&x);y=x>12 ? x+10 : x-12;printf(“%d\n”,y);return 0 ;}A、出错B、 10C、 22D、 06、若有以下类型说明语句:char w;int x;float y;double z; 则表达式w*x+z-y 的结果为____B____类型。

A、floatB、doubleC、intD、char7、已知ch是字符型变量,下面不正确的赋值语句是____C_____。

A、ch = ’7’+’9’ ;B、ch = ’\n’;C、ch = “a”;D、ch = 5+7;8、若定义x为double型变量,则能正确输入x值的语句是____C_____。

A、scanf(“%f”,x);B、scanf(“%f”,&x);C、scanf(“%lf”,&x);D、scanf(“%5.1f”,&x);9、若运行时输入:12345678↙,则下列程序运行结果为____A_____。

int main ( ){ int a,b;scanf(“%2d%2d”,&a,&b);printf(“%d\n”,a+b);return 0;}A、46B、579C、569010、设定义“int x=3,y=4,z=1”则表达式!(x+y)+z-1&&y+z/2的值是:_____D_____。

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.以下关于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语言程序设计期末考试复习题及答案(答案与题目分离)

C语言程序设计期末考试复习题及答案(答案与题目分离)

C语言考试期末考试复习题及答案一、选择题(1)一个C语言程序总是从()开始执行A)书写顺序的第一个函数B)书写顺序的第一条执行语句C)主函数main( )D)不确定(2)设int x=3,y=4,z=5,则下列表达式中的值为0的是()A) ‘x'&&’y’B)x||y+z&&y—z C) x〈=y D)!((x〈y)&&!z||1)(3)执行以下程序段后,i的值是()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)e==0 B)e!=1 C) e!=0 D)运行时出错(5)用int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是()A)随机值B) 0 C) 1 D)F(6)在执行char str[10]=“china\0”;strlen(str)的结果是()A)5 B) 6 D) 7 D 9(7)若有定义,char *p=”computer";则语句printf(“%c”,*(p+2))运行结果是()A) 随机值B) m C)o D)omputer(8)在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)));函数fun1参数的个数为()A) 8 B) 4C)5 D)编译出错(9)在说明一个结构体变量时系统分配给它的存储空间是()A)该结构体中第一个成员变量所需存储空间B)该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和Key:CDCAB ABBD1。

用C语言编写的代码程序A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行2。

C语言命令习题大全复习参考

C语言命令习题大全复习参考

C语言复习一、选择题(25*2分=50分)1.C语言可执行程序的开始执行点是。

A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D)包含文件中的第一个函数2.下列说法不正确的是________A)一个C语言程序可以由一个或多个函数组成B)C语言程序的基本组成单位是函数C)C程序总是从main函数开始执行,而不论main函数在整个程序中的位置如何;D )C语言注释只能位于一条语句后面3.一个完整的C源程序是________。

A)要由一个主函数(或)一个以上的非主函数构成B)由一个且仅由一个主函数和零个以上(含零)的非主函数构成C)要由一个主函数和一个以上的非主函数构成D)由一个且只有一个主函数或多个非主函数构成4.以下________不是算法的特征之一。

A)有穷性B)确定性C)有效性D)复杂性5.下面哪个表示浮点数的科学计数表示法是正确的?A)3e2.5 B)1.25e C)3.45e-5 D)e+86.请判断下列哪些用户自定义标识符是合法的?A)a&b,1_xy,e5,a.bB)exam,x1,int,defineC)ram,_mn,3ep,x*yD)ch,x_3_1,z2,num7.下列选项中,均可作为C语言用户标识符的是_________A dolla$ include scanfB _total **kdd printC average 2c sumD Y ear month _day8.设有如下定义:int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是________A 0B 1C 4D 39.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为。

A)0 B)1 C)2 D)310.以下________是流程图的处理框。

《C程序设计》期末复习练习题及参考答案(3)

《C程序设计》期末复习练习题及参考答案(3)

《C程序设计》期末复习练习题及参考答案(3)《C程序设计》期末复习练习题及参考答案(3)一、单项选择题1.若有定义int (*p)[4],则标识符p是一个。

A)指向整型变量的指针变量B)指向函数的指针变量√C)指向有四个整型元素的一维数组的指针变量D)指针数组名,有四个元素,每个元素均为一个指向整型变量的指针2.下列对字符串的定义中,错误的是:。

√A) char str[7] = "FORTRAN";B) char str[] = "FORTRAN";C) char *str = "FORTRAN";D) char str[] = {'F','O','R','T','R','A','N',0};3.针对下面程序段,下面哪些说法是正确的?#include <stdio.h>void Swap(int *x, int *y);main()1{ int a, b;a = 5;b = 9;Swap(&a, &b);printf("a=%d,b=%d",a,b);}void Swap(int *x, int *y){ int *pTemp;*pTemp = *x;*x = *y;*y = *pTemp;}A) 程序运行结果为乱码;B) 程序运行后将导致程序崩溃;C) 程序编译时出错导致程序无法运行;√ D) 程序执行了危险的操作;4.已知学生记录描述为:struct student{ int no;char name[20];char sex;struct{ int year;char month[15];2int day;}birth;};struct student s;设变量s中的生日是1984年11月11日,下列对生日的正确赋值方式是_____A) s.birth.year = 1984; s.birth.month = "11"; s.birth.day = 11;B) s.birth.year = 1984; s.birth.month = 11; s.birth.day = 11;√ C) s.birth.year = 1984; strcpy(s.birth.month, "11"); s.birth.day = 11;D) s.birth.year = 1984; strcpy(s.birth.month, 11); s.birth.day = 11;5. 要使下面程序的输出1, 2, 34,则从键盘输入的数据格式应为。

C程序设计试题汇编

C程序设计试题汇编

c程序设计试题汇编C程序设计试题汇编一、选择题(每题2分,共20分)1. 在C语言中,以下哪个是正确的数据类型?A. IntegerB. intC. RealD. float2. 以下哪个语句可以正确地声明一个整型变量?A. int var;B. var int;C. int = var;D. var = int;3. C语言中的数组下标是从哪个数字开始的?A. 0B. 1C. -1D. 随机数4. 以下哪个是正确的C语言函数定义?A. int func(int a, int b) { return a + b; }B. int func(int, int) { return a + b; }C. func(int a, int b) { return a + b; }D. int func(a, b) { return a + b; }5. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. defineD. void6. 以下哪个是C语言中的循环结构?A. forB. whileC. do-whileD. 所有选项都是7. 在C语言中,以下哪个操作符用于取模运算?A. %B. /C. *D. -8. 以下哪个是C语言中的逻辑运算符?A. &&B. ||C. ~D. 所有选项都是9. 在C语言中,哪个关键字用于定义一个结构体?A. structB. typeC. classD. union10. 以下哪个是C语言中的输入输出函数?A. printf()B. print()C. input()D. read()二、填空题(每空2分,共20分)11. 在C语言中,字符常量用____表示。

12. 一个C语言程序的执行从____函数开始。

13. C语言中的字符串以____字符结尾。

14. 一个变量的存储类别可以是自动的(auto)或____的。

15. 在C语言中,____运算符用于连接字符串。

C语言程序设计复习题

C语言程序设计复习题

一.选择题1.以下关于运算符优先顺序的描述中正确的是( C )。

A.关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符B.逻辑运算符< 关系运算符< 算术运算符< 赋值运算符C.赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符D.算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符2.下列选项中合法的变量名是______C___A. #define B. int C. a594_3 D.abs(x)3.以下正确的描述是( A )。

A. break语句的作用是结束整个循环的执行B.在C程序中,注释说明只能位于一条语句的后面C.在循环体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出时, 只能使用goto语句4.以下说法正确的是(C )A.#define 和 printf 都是 C 语句。

B.#define 是C语句,而printf不是。

C.若程序中要调用数学函数,必须在文件开头输入语句 #include “math.h”D. #define 和 printf 都不是 C 语句。

5.下面的函数定义正确的是____D__________A) float fun (float x ; float y) {return x*y;}B) float fun (float x,y) {return x*y;}C) float fun (x,y) {int x,y;return x*y;}D) int fun (int x, int y) {re turn x*y;}6.执行下面语句后的输出为( D )int i=-1;if (i<=0) printf(“****\n”)else printf(“%%%%\n”)A). **** B). %%%%C). %%%%c D). 有语法错误,不能正确执行7.以下程序的输出结果是( A )void main( ){int k=17;printf("%d, %o, %x \n ", k, k, k );}A). 17, 21, 11 B). 17, 17, 17C). 17, 0x11, 021 D). 17, 21, 18.以下不正确的叙述是( C )A)#define是宏定义命令B)宏定义只是做简单的置换,不做正确性检查C)宏定义是C语句,必须在行末加分号D)printf是C语句,但#define不是。

C语言程序设计复习题

C语言程序设计复习题

一、选择题:1、以下能正确定义数组并正确赋初值的语句是( D )。

A、int N=5,b[N][N];B、int a[1][2]={{1},{3}};C、int c[2][]={{1,2},{3,4}};D、int d[][2]={{1,2},{3,4}};2、执行下面的程序时若从键盘上输入6,则输出结果是( D )。

main(){ int x;scanf("%d",&x);if(x++>5) printf("%d\n",x);else printf("%d\n",x--); }A、7B、 6C、5 D、43、下列四组选项中,不合法的用户标识符的选项是( D )。

A、P_0B、 _AC、temp_123D、b-a4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值为( C )。

x=(i=4,j=16,k=32)A、 4B、 16C、 32D、 525、下列选项中哪个是合法的标识符( B )。

A、 intB、 _a2C、 b#D、 7b6、下列选项定义了整型变量a和b,并为这两个变量赋初值为5,不正确的语句是( B )。

A、 int a=5,b=5;B、 int a=b=5;C、 int a,b;D、 int a=5,b;a=5;b=5; b=5;7、若变量已正确定义并赋值,下面不符合C语言语法的表达式是( A)。

A、a=a+7;B、a=7+b+c,a++C、int 12.3%4D、a=a+7=a+b8、执行下面的程序时若从键盘上输入6,则输出结果是( C )。

main(){ int x;scanf("%d",&x);if(x-->5) printf("%d\n",x);else printf("%d\n",++x); }A、7B、 6C、5 D、49、设有程序段 int k=10;while(k==0) k=k-1;则下面描述中正确的是( B )。

《C语言程序设计》复习题

《C语言程序设计》复习题

《C语言程序设计》复习题一、判断题(本大题共60个小题)1.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。

(B)2.定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。

(B)3.注释内容太多会影响程序的执行效率。

(B)4.变量要“先定义,后使用”。

(A)5.字符常量'a'与字符串常量"a"没有区别。

(B)6.数学公式y=-6xz+5[2(a-5)+3]写成C语言表达式是y=-6*x*z+5*[2*(a-5)+3]。

(B)7.数学公式y=|x|+ab-c写成C语言表达式是y=fabs(x)+a*b-c。

(A)8.表达式5/2+5.0/2+7%6 的值为5.5。

(A)9.设int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/2*(int)(a+c)/2)%4 的值为:4.5。

(B)10.设int a=12; 则表达式a/=a+a的值是0.5。

(B)11.在C语言中,运算符!比&&的优先级高。

(A)12.在C语言中,运算符的优先级最小的是逗号运算符。

(A)13.scanf("%d,%d",&x,&y);的输入格式:3,4<回车>。

(A)14.以下程序运行结果是:1,7,0 (A)void main(){int x=1,y=1,z=10;if(z< 0)if(y> 0) x=3;else x=5;printf(" %d," ,x);if(z=y< 0) x=3;else if(y==0) x=5;else x=7;printf(" %d,%d" ,x,z);}15.该程序运行结果是:BCother (A)void main(){ char x=‘B’;switch(x){case ‘A’: printf(“A”);case ‘B’: printf(“B”);case ‘C’: printf(“C”);default: printf(“other”);}}16.下面程序段运行时输出结果是a=2,b=8 (B)void main(){int x=1,y=1,a=2,b=7;switch(x){case 1: switch(y){ case 0: a++;break;case 1: b++;break;}case 2: a++;b++;break;case 3: a++;b++;}printf("a=%d,b=%d\n",a,b);}17.下面程序,当输入为:"abc?" 时,执行结果是:abc (A)void main(){ char c;c=getchar();while (c!='?' ) { putchar(c); c=getchar();}}18.该程序运行结果是:< > < > < > # (A)void main(){ int i;for(i=1;i<=5;i++){if(i%2) putchar(‘<’);else continue;putchar(‘>’);}putchar(‘#’);}19.break语句可用于循环语句和if语句中。

《VC程序设计》期末复习题集(学生用)

《VC程序设计》期末复习题集(学生用)

《VC程序设计》期末复习题集(学生用)《程序设计(VC++)》考试试卷一选择题(在A、B、C、D中选择一个正确的,每题1分,共30分。

用答题纸答题,二、填空题(每个空格1分,共30分。

请将答案填写在答题纸的相应答题号内,每个答案只占一行)●基本概念题,共5分1.执行语句cout<2.用new运算符申请动态对象时,系统将自动调用该对象的构造函数。

3.定义内联函数的方法是在函数的返回值类型之前增加关键字inline4.在多重继承时,若欲使公共基类只在派生类中产生一个拷贝,则应在派生类中将该基类用关键字virtual5.在C++的I/O流类库中,预定义了4个流,即cin、cout、cerr和clog,其中cerr和clog不可重定向。

●阅读程序题,共13分6.[程序](2分)#includeintm[3][3]={{1},{2},{3}},n[3][3]={1,2,3};voidmain(void){cout<7.[程序](2分)#includeintf(char某){char某p=;while(某p)p++;returnp-;}voidmain(void){cout<程序的输出是6,函数f的功能是求字符串的长度8.[程序](2分)#includevoidf(int某){taticintj;do{[j]+=[j+1];}while(++j<2);}voidmain(void){intk,a[10]={1,2,3,4,5};for(f(a),k=0;k<5;k++)cout<程序输出的第一行是35345,程序输出的第二行是357459.[程序](3分)#includeintk=1;voidf(intm){m+=k;k+=m;{chark=B;cout<<k-A<voidmain(void){inti=4;f(i);cout<程序的输出第一行是1,第二行是5,6,第三行是4,610.[程序](2分)#includeclaA{protected:int某;public:int&Acce(){return某;}};claB{protected:int某;public:int&Acce(){return某;}};claC:publicA,publicB{inty;public:C(inta,intb,intc){A::某=a;B::某=b;y=c;}int&Accey(){returny;}};claD:publicC{intz;public:D(inta,intb,intc,intd):C(a,b,c){z=d ;}int&Accez(){returnz;}};共7页,第1页。

C语言程序设计复习题

C语言程序设计复习题

《C语言程序设计》(A )卷复习题一、单选题1.下列特性中,C与C++共有的是( D )A.继承B.封装C.多态性D.函数定义不能嵌套2.类的指针成员的初始化是通过函数完成的,这个函数通常是( B )A.析构函数B.构造函数C.其它成员函数D.友元函数3.有关const对象和const成员数据,下列说法不正确的是( C )A.const成员数据不能在定义类时直接赋值B.const对象中的成员数据不能重新赋值C.const对象可以调用它的任何一个成员函数D.const成员数据,只能在构造函数中用初始化列表的方法对它初始化。

4.静态成员函数没有( B )A.返回值B.this指针C.指针参数D.返回类型5.当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中( A )A.都是虚函数B.只有被重新说明时才是虚函数C.只有被重新说明为virtual时才是虚函数D.都不是虚函数6.下面叙述不正确的是( D )A.派生类一般都用公有派生B.对基类成员的访问必须是无二义性的C.赋值兼容规则也适用于多重继承的组合D.基类的公有成员在派生类中仍然是公有的7.在C++中实现封装是借助于( B )A.枚举B.类C.数组D.函数8.所有在函数中定义的变量,都是( B )A.全局变量B.局部变量C.静态变量D.寄存器变量二、填空题1.将关键字const写在函数头之后,函数体之前,说明该函数是一个const成员函数。

它的特点是:不能改变_成员数据的值_也不能调用类中_ 非const __成员函数。

2.一个抽象类的派生类可以实例化的必要条件是实现了所有的纯虚函数 __。

3.C++中,虚函数帮助实现了类的_多态_性。

4为了在对象生存期结束时释放其指针成员所指向的动态存储空间,通常需要为该类定义____ _析构函数_。

5.要把一个函数“void F( );”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句:friend void F() 。

c语言程序设计复习题

c语言程序设计复习题

《C语言程序设计》复习题一、单项选择题1.C语言中用于结构化程序设计的三种基本结构是()(A)顺序结构、选择结构和循环结构(B)if、switch 、break(C)for、while、do-while(D)if 、for、continue2.下列说法正确的是()(A)程序的运行可以从任何函数开始(B)符号常量的值,在程序运行中,可随程序的运行而不断发生变化(C)数组中各元素的值可以由互不相同(D)字符串与字符数组是有区别的3.下列各组中不全是字符常量的是()(A)…A‟, “b” , …2‟ (B) …+‟, …\101‟ , …f‟(C ) ...6‟ , ...\n‟, ...x‟ (D) ...3‟ , ...$‟ , (x41)4.下列各组中不全是合法的变量名的是()(A)day , lotus_1 _2_3 ,x1 (B) Abc, _above , basic(C ) M.John , year , sum (D) YEAR, MONTH, DAY5.下列选项中,不能用作标识符的是()。

(A)_1234 (B) _1_2 (C) int_2_ (D) 2_int_6.以下定义语句double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是()(A)a=a+b=b++ (B) w%(int)a+b) (C) (C+W)%(int)a (D) w=a= = b;7.以下选项中属于C语言的数据类型的是()(A)复数型(B)逻辑型(C)双精度型(D)集合型8.下列常量中不能作为C的常量的是()(A)0xa5 (B) 2.5e-2 (C) 3e2 (D) 05829.C语言中,数字029是一个()(A)八进制数(B)十六进制数(C)十进制数(D)非法数10.下列可以正确表示字符型常数的是()(A)“a” (B) …\t‟ (C) “\n” (D) 29711.字符串“\\22a,0\n” 的长度是()(A)8 (B)7 (C)6 (D)512.要判断char型变量m是否是数字字符,下面正确的表达式是()(A)0<=m && m<=9 (B) …0‟<=m && m<=‟9‟(C) “0”<=m && m<= “9” (D) 以上答案均不正确13.下列关于函数说法正确的是()(A)标准库函数在使用时需要声明(B)用户自定义函数在任何情况下都需要声明(C)用户自定义函数如果出现在调用函数之前需要声明(D)用户自定义函数如果出现在调用函数之后需要声明14.在C语言中,函数返回值的数据类型取决于()(A)函数的名字(B)return语句中表达式的数据类型(C)在定义该函数时所指定的数据类型(D)主调函数的数据类型15.设x,y分别为单精度和双精度类型变量,则下列选项()可将表达式x+y的运算结果强制转换为整型数据。

C程序设计复习题

C程序设计复习题

C程序设计复习题一.选择:1.不属于字符型常量的是:( B )A.‘A’ B “B” C ’\N’ D ‘\X72’2. 属于整型常量的是:( A )A.12 B 12.0 C -12.0 D 10E103. 属于实型常量的是:( D )A.‘A’ B “120” C 120 D 1E-14.’\34’在内存中占( D )个字节,“\34”在内存中占( C )个字节A.4 B 3 C 2 D 1A.4 B 3 C 2 D 15. Char型常量在内存中存放的是( A )A.ASCII代码值 B BCD代码值 C 内码值 D 十进制代码值6.已知字符“A“的ASCII代码值是65,字符变量c1的值是’A’,c2的值是’D’.执行语句”printf(“%d,%d”,c1,c2-2);”后,输出结果是:( D )A.A,B B A,68 C 65,68 D 65,661.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是 A 。

A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z2.若变量c为char类型,能正确判断出c为小写字母的表达式是 D 。

A.'a'<=c<= 'z'B.(c>= 'a')||(c<= 'z')C.('a'<=c)and ('z'>=c)D.(c>= 'a')&&(c<= 'z')3. 有以下程序段int x=3do{ printf("%d",x-=2); }while (!(--x));其输出结果是 C 。

A.1B.3 0C.1 -2D.死循环7.字符串”\\\’a\tbcd\’\\”的长度是( A )A.9 B 14 C 8 D 138.设有整型变量n1,n2,其值均为3;执行语句“n2=n1++,n2++,++n1;”后,n1,n2的结果分别是( C ),( B )A.3 B 4 C 5 D 6A.3 B 4 C 5 D 69.执行语句”x=(a=3,b=a--)”后,x,a,b的值依次为( C )A.3,3,2 B 3,2,2 C 3,2,3 D 2,3,210.表达式“1?(0?3:2)(10?1:0)”的值为( B )A.3 B 2 C 1 D 011.设实型变量f1,f2,f3,f4的值均为2,整型变量m1,m2的值均为1。

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

《程序设计》复习题第三章数据类型及运算1、有如下定义:int a=8,b=5,c;执行语句c=a/b+0.4;后,c的值为( 1 )。

2、在c语言中,合法的长整型常数是( A )。

A.0LB.4962710C.324562&D.216D3、以下选项中合法的字符常量是(B )。

A.”B”B.‟\010‟C.68D.D4.下面选项中合法的实型常数是(C )。

A.5E2.0B.E-3C.2E0D.1.3E5.请选出可以作为C语言用户标识符的一组标识符号( B )。

A.void define WORDB.a3_b3 _123 IFC.for –abc caseD.2a D0 sizeof6.已知大写字母A的ASCII码是65,小写a的ASCII码是97,则用八进制表示的字符常量‟\101‟是( A )。

A.字符AB.字符aC.字符eD.非法常量7.以下合法的赋值语句是( A )。

A.x=y=100;B.j++;C.x+y;D.c=int(a+b);8.以下程序的输出结果是(-12 )。

main(){int a=3;printf(“%d\n”,(a+=a-=a*a));}9.以下程序输出的结果是(9,10)。

#include<stdio.h>main(){int i=010,j=10;printf(“%d,%d\n”,++i,j--);}10.设有x=11,则表达式(x++*1/3)的值是(3 )。

第四章顺序结构1、若有以下程序:main(){int k=2,i=2,m;m=(k+=i*=k);printf(“%d,%d\n”,m,i);}执行后的输出结果是:2、有以下程序:main(){int i=10,j=1;printf(“%d,%d\n”,i--, ++ j);}执行后的输出结果是:3、有以下程序:int c1=1,c2=2,c3;c3=c1/c2;c3中的值是:4、有以下程序:main(){int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“%d,%d,%d\n”,a,b,c);}执行后的输出结果是:5、以下程序的输出结果是:main(){int a=2, b=5;printf(“a=%%d,b=%%d\n”,a,b);}6、以下程序段的输出是:float a=3.1415;printf(“|%6.0f\n|”,a);7、下述程序的输出是()#include<stdio.h>main(){int a=011,b=101;printf(“\n%x,%o”,++a,b++);}8、main(){int a=5;printf(“%d\n”,(a=3*5,a*4,a+5));}9、int x=496;printf(“*%-6d*\n”,x);10、x=5.1694;printf(“%f\n”,(int)(x*1000+0.5)/(float)1000);第五章选择结构1、有以下程序main(){int k=-3;if(k<=0)printf(“****\n”);else printf(“&&&&\n”);}该程序运行结果是:****2、有以下程序main(){int a=5,b=4,c=3,d=2;if(a>b>c)printf(“%d\n”,d);else if((c-1>=d)==1)printf(“%d\n”,d+1);else printf(“%d\n”,d+2);}该程序运行结果是:33、有以下程序main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf(“%d,%d,%d\n”,i,j,k);}该程序运行结果是:2,2,24、有如下程序main(){float x=2.0,y;if(x<0.0)y=0.0;else if(x<10.0)y=1.0/xelse y=1.0;printf(“%f\n”,y);}该程序输出的结果是:0.5000005、若执行以下程序时从键盘上输入3和4,则输出结果是main(){int a,b,s;scanf(“%d%d”,&a,&b);s=a;if(a<b)s=b;s*=s;printf(“%d\n”,s);}166、请写出以下程序的输出结果 1main(){int a=100;if(a>100) printf(“%d\n”,a>100);else printf(“%d\n”,a<=100);}7、以下程序的输出结果是:main(){int x=100,a=10,b=20,ok1=5,ok2=0;if(a<b)if(b!=15)if(!ok1)x=1;else if(ok2)x=10;else x=-1;printf(“%d\n”,x);} -18、有以下程序的执行结果是main(){int k=10;switch(k){case 9:k+=1;case 10:k+=1;case 11:k+=1;default:k+=1; break;}printf(“%d”,k);}9、main(){int x=0,y=0,z=0;if(x=y+z)printf(“***”);elseprintf(“###”);}###10、main(){char x=‟A‟x=(x>=‟A‟&&x<=‟Z‟)?(x+32):x;printf(“%c\n”,x);} a11、以下语句段的输出结果是:*#int x=0;y=2,z=3;switch(x){case 0:switch(y==2){ case 1:printf(“*”);break;case 2:printf(“%”);break;}case 1:switch(z){case 1:printf(“$”);case 2:printf(“*”);break;default:printf(“#”);}}12、若在键盘输入58,则以下程序输出的结果是585858 main(){int a;scanf(“%d”,&a);if(a>50) printf(“%d”,a);if(a>40) printf(“%d”,a);if(a>30) printf(“%d”,a);}13、main(){int x=1,a=0,b=0;switch(x){case 0:b++;case 1:a++;case 2:a++;b++;}printf(“a=%d,b=%d\n”,a,b);}该程序的输出结果是:a=2,b=1第六章循环控制1、下面程序的运行结果是0#include<stdio.h>main(){int y=10;do{y--;}while(--y);printf(“%d\n”,y--);}2、以下程序段的输出结果是987int n=10;while(n>7){n--;printf(“%d”,n);}3、以下程序的输出结果是不确定main(){ int i,sum;for(i=1;i<6;i++)sum+=sum;printf(“%d\n”sum);}4、以下程序的输出结果是852main(){int y=10;for(;y>0;y--){ if(y%3==0){printf(“%d”,--y);continue;}}}5、以下程序的输出结果是011122main(){int i;for(i=0;i<3;i++)switch(i){case 1:printf(“%d”,i);case 2:printf(“%d”,i);default:printf(“%d”,i);}}6、若x是int类型变量,以下程序的输出结果是**3##4**5 for(x=3;x<6;x++)printf((x%2)?(“**%d”):(“##%d\n”),x);7、以下程序的输出结果是<><>##include<stdio.h>main(){int i;for(i=1;i<5;i++){ if(i%2)putchar(…<‟);elsecontinue;putchar(…>‟);}putchar(…#‟);}8、以下程序段的输出结果是10int k,j,s;for(k=2;k<6;k++,k++){s=1;for(j=k;j<6;j++)s+=j;}printf(“%d\n”,s);9、以下程序段的输出结果死循环int k,n,m;n=10;m=1;k=1;while(k<=n)m*=2;printf(“%d\n”,m);10、以下程序的输出结果是-1main(){int x=2;while(x--);printf(“%d\n”,x);}11、阅读下面程序,程序执行后的输出结果为0918273645#include “stdio.h”main(){char a,b;for(a=‟ 0‟,b=‟ 9‟;a<b;a++,b--)printf(“%c%c”,a,b);printf(“\n”);}12、main() *#*#*#${int i;for(i=1;i<=5;i++){if(i%2)printf(“*”);elsecontinue;printf(“#”);}printf(“$\n”);}13、运行以下程序后,如果从键盘上输入china#,则输出结果为:5,5main(){int v1=0,v2=0; char ch;while((ch=getchar())!=‟#‟)switch(ch){case …a‟:case …h‟:default:v1++;case …o‟:v2++;}printf(“%d,%d”,v1,v2);}14、main() 17{int x=15;while(x>10&&x<50){x++;if(x/3){x++;break;}else continue;}printf (“%d\n”,x);}15、main(){int x=3;do{printf(“%d\n”,x-=2);}while(!(--x));}1-2第七章数组1、以下对数组初始化错误的是 BA)int a[2][3]={1,2,3,4}; B) int [2][]={1,2,3,4,5,6};C) int a[2][3]={{1,2,3},{4,5}} D) int a[][3]={1,2,3,4,5,6};2、若有定义语句:char c[5]={…a‟,‟b‟,‟\0‟,‟c‟,‟\0‟};,则执行语句printf(“%s”,s)的结果是 BA)‘a’‘b’B) ab C)ab c D)ab\0c3、以下程序的输出结果是3,5,7,main(){ int i,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf(“%d,”,x[i][2-i]);}4、以下程序的输出结果是main(){ int n[2]={0},i,j,k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]+1;printf(“%d\n”,n[k]);} 不确定5、执行下面的程序段后,变量k中的值为Aint k=3,s[2];s[0]=k;k=s[1]*10;A)不定值B)33 C)30 D)106、若有以下定义:double w[10];则w数组元素下标的上限是(9),下限是(0)。

相关文档
最新文档