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语言程序设计期末考试复习题及答案[]
![C语言程序设计期末考试复习题及答案[]](https://img.taocdn.com/s3/m/1af47aac6137ee06eef91860.png)
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'。
C程序设计题库(含答案)

else y = 1.0;
printf("%f\n",y);
}
A.0.000000B.0.250000C.0.500000D.1.000000
(3)下列程序的运行结果是( )
#include <stdio.h>
void main()
{
int a = 2, b = -1, c = 2;
答案:B
4、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)
A、6.500000 B、6 C、5.500000 D、6.000000
5、以下的选择中,正确的赋值语句是()。
A) a=1,b=2 B) j++ C) a=b=5; D) y=int(x)
A) 10<回车>B) 10.0,22.0,33.0<回车>
22<回车>
33<回车>
C) 10.0<回车> D) 10 22<回车>
22.0 33.0<回车> 33<回车>
答案:B
2.三大结构
(1)下列程序的运行结果是()
#include <stdio.h>
void main()
{
char c1 = '6', c2 = '0';
B.形参可以是常量,变量或表达式
C.实参可以为任意类型
D.如果形参和实参的类型不一致,以形参类型为准
9.C语言规定,函数返回值的类型是由( )决定的。
A. return语句中的表达式类型
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语言程序设计期末考试复习题及答案

A)称为函数的直接递归调用 B)称为函数的间接递归调用
C)称为函数的循环调用 D)C语言中不允许这样的递归调用
6.以下叙述中正确的是 ( A )
{ char a='a',b;
printf("%c,",++a);
printf("%c\n",b=a++);}
程序运行后的输出结果是a)b,b B)b,c C)a,b D)a,c
9.有以下函数定义:(c)
void fun(int n, double x) { …… }
1 main()
2 { int x;
3 if (x=90) printf(“right”);
4 else printf(“error”);
}
行号: 改为: main()
2 { char s[]=”china”;
(4) main()
{ int a,b;
a=5;
b=8;
p(a,b);
p(a+b,a);
}
p(int x,int y)
{
y=x+y;
printf(“%d %d”,x,y);
}
程序的运行结果是:
A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;i++){ p=1; p*=i;}
C)i=1;p=1;while(i<=5){p*=i; i++;}D)i=1;p=1;do{p*=i; i++; }while(i<=5);
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. 某铁桶厂应客户要求定做一批铁桶,客户给出了铁桶的规格,高30cm ,半径10cm ,共订做1500个铁桶。
计算出所需的原材料。
2.利用系统库函数实现数学运算,求x y 。
3.从键盘上输入一个小写字母,把它转变为大写字母再输出。
4. 设圆半径r=1.5,圆柱高h=3,求圆柱体积,圆柱底面积,圆柱表面积。
用scanf ()输入数据,输出计算结果。
输出时要有说明,结果取小数点后两位数字。
5.由键盘输入n 的值,编程计算并输出n!的值。
6. 让用户输入一个年份,判断改年份是否是闰年– 被4整除不能被100整除,或者被400整除7. 有一个函数⎪⎩⎪⎨⎧--=11312x x x y ())10()101(1≥<≤<x x x写程序,输入x 的值,输出y 相应的值。
8. 在学生成绩管理中,经常要将成绩的百分制转换成对应的等级制。
90分以上为A 等,80-89为B 等,70-79为C 等,60-69分为D 等,其余为E 等。
编写程序,根据输入的百分制成绩,输出对应的等级。
9. 计算从出生年份(例如1996)到当前年份(例如2014)共经过了多少闰年,输出所有的闰年年份。
10. 从1开始做自然数的累加,当其累加和超过1000的时候,共计累加了多少数?当时的累加和是多少?11.百钱买百鸡问题 12. 计算出自然数SIX 和NINE 满足条件SIX+SIX+SIX=NINE+NINE 的个数CNT,以及所有满足此条件的SIX 与NINE 。
13.求 3—100之间的全部素数14. 图形编程图形编程15. 某歌手大赛,共有10个评委打分,分数采用百分制,去掉一个最高分,去掉一个最低分,然后取平均分,得到歌手的成绩,编程实现。
16.让用户输入10个整数,对10个整数进行降序排列 17.对用户输入的10个整数逆序排列并输出 18. 输出Fibonacci 序列前20项** * ** * * * ** * * * * * ** * * * * * * * ** * * * * * * * * * *19.在一个字符数组中查找一个指定的字符,若数组中含有该字符,则输出该字符在数组中第一次出现的位置,否则输出-1.20.写一个函数,求sn=a+aa+aaa+aaaa+aaaaa.....的值,a的值n的值均由用户指定。
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'。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3ae bc C语言程序设计样题一、单选题1.C程序的基本构成单位是()A)文件B)命令C)函数D)语句2.在C语言中,'a'是()A)字符串常量B)字符常量C)变量D)函数3.在C语言中,“a=b=c=5”属于哪种表达式?()A)关系B)赋值C)逻辑D)非法4.设a、b为整型,则表达式(a=2,b=5,b++,a+b)的值是()A)2 B)6 C)7 D)85.若有以下变量定义:int b=2;float a=5;则表达式“a/b”之值为()A)2.5 B)2 C)3 D)5/26.若j=3,则表达式(++j)+(j++)的值为()A)6 B)7 C)8 D)107.以下只能输入单个字符的函数是()A)printf( ) B)puts( ) C)getchar( ) D)putchar( )8.若a的原值为4,则表达式“a*=a-=3”运算后,a的值是()A)13 B)4 C)3 D)19.若a=5、b=3、c=1,则表达式“a>b>c”的值为()A)0 B)1 C)3 D)510.若有代数式:以下错误的C语言表达式是()A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*311.下列能输出字符数组str中字符串的语句是()A)printf("%c",str[0]); B)printf("%s",str);C)printf("%s",str[]); D)putchar(str);12.若p=&x,则下列关系表达式之值为1的是()A)p==x B)*p==x C)&p==x D)*x==p13.C语言中最基本的数据类型包括()A)整型、实型、逻辑型B)整型、实型、字符型C)整型、逻辑型、字符型D)整型、实型、字符串型14.C语言中,要求运算对象必须是整型数据的运算符是()A)% B)/ C)\ D)&&15.表示数学关系“x≥y≥z”的C语言表达式是()A)x>=y>=z B)x>=y || y>=z C)x>=y&&y>=z D)x≥y≥z16.以下说法中正确的是()A)C程序总是从文件中第一个函数开始执行B)C程序中,只有main( )函数才可以调用其他函数C)C程序总是从main( )函数开始执行D)C程序中的main( )函数必须放在程序的开头17.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值为()A)2.5 B)2.75 C)3.5 D)018.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()A)int B)float C)double D)不确定19.有输入语句:scanf("%d,%d",&a,&b);为使变量a、b分别为5和3,从键盘输入数据的正确形式为()A)5 3<回车> B)5,3<回车> C)a=5 b=3<回车> D)a=5,b=3<回车>20.定义如下变量和数组:int j;int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是()for (j=2; j>=0; j--)printf("%2d",x[j][2-j]);A)1 5 9 B)1 4 7 C)7 5 3 D)3 6 921.执行下面程序后,a的值是()#include <stdio.h>#define SQR(x) x*xvoid main( ){int a=10,k=2,m=1;a=SQR(k+m);printf("%d\n",a);}A)10 B)5 C)2 D)122.以下叙述不正确的是()A)在函数内部定义的变量是局部变量B)函数中的形式参数是局部变量C)全局变量的作用范围仅限于其所在的整个文件D)局部变量的作用范围仅限于本函数23.设a=3,b=4,c=2,d=1,则表达式“a>b?a:c>d?c:d”的值为()A)4 B)3 C)2 D)124.有以下程序段:x=-1;dox=x*x;while(!x);执行时,循环体执行的次数为()A)0 B)1 C)2 D)不确定25.以下不正确的if语句形式是()A)if (x>y&&x!=y);B)if (x= =y) x+=y;C)if (x!=y) scanf("%d",&x)else scanf("%d",&y);D)if (x<y) {x++;y++;}26.以下程序的输出结果是()#include <stdio.h>void main( ){int x=2,y=-1,z=2;if (x<y)if (y<0) z=0;else z+=1;printf("%d\n",z);}A)0 B)1 C)2 D)327.以下能正确计算1×2×3×…×10的程序段是()A) i=1,s=1; B) s=1;i=1;do while(i<=10){s=s*i;i++;} s=s*(++i);while(i<11);C) for(i=1,s=0;i<=10;i++) D)for(i=1,s=1;;i++)s=s*i; s=s*i;28.若j为整型变量,则以下循环执行次数是()for (j=0;j= =0;)printf("%d",j--);A)无限次B)0次C)1次D)2次29.若有说明:int a[10];则对a数组元素的正确引用是()A)a[3.5] B)a(8) C)a[6-5] D)a[10]30.C语言规定,变量做实参时,它和对应形参之间的数据传递方式是()A)地址传递B)单向值传递C)双向值传递D)由用户指定传递方式31.C中,一个float类型的数据在内存中占()个字节。
A) 1 B) 2 C) 4 D) 832.设有程序段:int k=5;while (k<=0)k--;则下列描述中正确的是()A) while循环执行5次B) 循环是无限循环C) 循环语句一次也不执行D) 循环体语句执行一次33.下面程序段的运行结果是()char c[5]={ 'a', 'b', '\0', 'c', '\0' };printf("%s", c);A) 'a''b' B) ab C) Abc D) "abc"34.以下不正确的字符串赋值语句是()A) char *s; s="abcde"; B) char s[ ]="abcde";C) char s[10]; s="abcde"; D) char *s="abcde";35.设p1、p2是指向int型一维数组的指针变量,k为int型变量,以下错误的语句是()A) k=*p1+*p2; B) p2=k; C) p1=p2; D) k=p2-p1;36.下面程序的输出结果是()#include <stdio.h>void main( ){ char s[]= "ABCD";char *p;for (p=s;p<s+4;p++)printf("%s\n", p);}A) ABCD B)A C)D D)ABCDBCD B C ABCCD C B ABD D A A37.以下关于C函数的定义和调用描述正确的是()A) 函数的定义可以嵌套,但函数的调用不可嵌套B) 函数的调用可以嵌套,但函数的定义不可嵌套C) 函数的定义和调用均可以嵌套D) 函数的定义和调用均不可嵌套38.以下关于变量的作用域说法正确的是()A) 在不同函数中不能使用相同名字变量B) 在函数外部定义的变量只在本函数范围内有效C) 在函数内的复合语句定义的变量在本函数内有效D) 形式参数是局部变量39.以下关于变量的作用域叙述不正确的是()A) 在函数内部定义的变量是局部变量B) 函数中的形式参数是局部变量C) 全局变量的作用范围仅限于其所在的文件D) 局部变量的作用范围仅限于本函数40.以下关于C函数参数说法不正确的是()A) 实参可以是常量、变量和表达式B) 形参可以是常量、变量和表达式C) 实参可以为任意数据类型D) 形参应与对应的实参类型一致41.以下关于C函数返回值的叙述正确的是()A) 被调函数中只有使用return语句才能返回主调函数B) 使用一个return语句可以返回多个函数值C) 函数返回值类型取决于return语句中的表达式类型D) 函数返回值类型取决于定义该函数时所指定的类型42.在C中,“a>b>c”属于哪种表达式?()A) 关系B) 赋值C) 逻辑D) 非法43.以下不合法的C表达式是()A) 10 || 8 B) 12= =9+1 C) ++5 D) x!=y44.给定以下程序段:int n=10;while (n>6){ n--;printf("%3d",n);}以上程序段输出结果是()A) 10 9 8 B) 9 8 7 C) 10 9 8 7 D) 9 8 7 645.若i,j已定义为int型,则以下程序段中内循环总的执行次数是()for (i=5; i>0; i--)for (j=1; j<6; j++){……}A) 30 B) 24 C) 25 D) 2046.若已定义:float *p, m=3.14159; 则使p指向m正确的赋值语句是()A) p=m; B) p=&m; C) *p=m; D) *p=&m;47.若已定义:char s[10]; 则下面表达式中不能表示s[1]地址的是()A) s++ B) s+1 C) &s[0]+1 D) &s[1]二、填空题1.函数是C程序的基本构成单位,C程序总是从____开始执行的。
2.赋值表达式x*=y+5的另一种书写形式为3.已知a=10,b=20,c=3,则表达式a>b || c的值为4.整数m既能被3整除又能被4整除的逻辑表达式为5.若有定义:double a[10][5]; 则数组a中行下标最大值为,列下标最大值为。