C程序设计-复习题
更新时间:2023-09-15 08:06:01 阅读量: 资格考试认证 文档下载
《C程序设计》复习题
一、选择题
1、以下叙述中错误的是
A)一个C程序中可以包含多个不同名的函数 B)一个C程序只能有一个主函数
C)C程序在书写时,有严格的缩进要求,否则不能编译通过 D)C程序中主函数必须用main作为函数名
2、设有以下语句char ch1, ch2; scanf(\ 若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是
A)A和B之间用逗号间隔 B)A和B之间不能有任何间隔符 C)A和B之间可以用回车间隔 D)A和B之间用空格间隔 3、以下选项中非法的字符常量是
A)'\\101' B)'\\65' C)'\\xff' D)'\\019' 4、有以下程序 # include
main( )
{ int a=0, b=0, c=0; c=(a- =a-5); (a=b,b+=4); printf(\
程序运行后的输出结果是 A)0,4,5 B)4,4,5 C)4,4,4 D)0,0,0 5、有以下程序 # include
{int a; scanf(\ if(a++<9) printf(\ else printf(\
程序运行时从键盘输入9<回车>,则输出结果是 A)10 B)11 C)9 D)8 6、有以下程序 # include
main( ) {int s=0, n;
for( n=0; n<3; n++ ) { switch(s)
{ case 0: case 1: s+=1; case 2: s+=2; break; case 3: s+=3; default: s+=4;} printf(\程序运行后的输出结果是A)1,2,4, B)1,3,6, C)3,10,14, D)3,6,10, 7、有以下程序 # include
{char a,b,c; b='1'; c='A';
for (a=0; a<6; a++) {if(a%2) putchar(b+a); else putchar(c+a); } }
程序运行后的输出结果是 A)1B3D5F B)ABCDEF C)A2C4E6 D)123456
8、设有如下定义语句 int m[]={2,4,6,8,10}, *k=m;以下选项中,表达式的值为6的是
A)*(k+2) B)k+2 C)*k+2 D)*k+=2
9、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。在下划线处应填写的是 #include
#define N 5
void fun(int x[N])
{ int m; for(m=N-1;m>=0; m--) scanf( \ A)&x[++m] B)&x[m+1] C)x+(m++) D)x+m 10、若有函数void fun(double a[], int *n) { ...... }
以下叙述中正确的是
A)调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送 B)形参a和n都是指针变量 C)形参a是一个数组名,n是指针变量
1
D)调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组 11、C语言源程序的基本单位是( )。
A.程序行 B.语句 C.函数 D.字符 12、在C语言中,要求运算的数必须是整数的运算符是( ) A./ B.! C.% D.= =
13、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a的值( ) A、3 B、0 C、9 D、-12
14、执行下列程序时输入:1234567,程序的运行结果是( ) main( )
{ int x,y; scanf(“-%*2c”,&x,&y); printf(“%d\\n”,x+y); }
A.17 B.46 C.15 D.9 15、下述程序的输出结果是( ) #include
{int x=-1,y=4; int k; k=++x<=0&&!(y--<=0);
printf(\
A.0,0,3 B.0,1,2, C.1,0,3, D.1,1,2
16、为了避免嵌套的if-else语句的二义性,C语言规定else总是与( )组成配对关系。
A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if
17、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是( ) main( )
{int x; scanf(“%d“,&x); if(x++>5)printf(“%d”,x); else printf(“%d\\n”,x--); }
A.7和5 B.6和3 C.7和4 D.6和4 18、若变量c为char类型,能正确判断出c为小写字母的表达式是( ) A. 'a'<=c<= 'z' B. (c>= 'a')||(c<= 'z') C. ('a'<=c)and ('z'>=c) D. (c>= 'a')&&(c<= 'z') 19、以下程序的输出结果为 main( )
{int i,f1,f2; f1=f2=1; for(i=0;i<4;i++)
{printf(“%d%d”,f1,f2); f1+=f2; f2+=f1; }} A.1 2 3 4 5 6 7 8 B.1 1 2 3 5 8 13 21 C.1 1 3 5 7 9 11 13 D.1 3 5 7 9 11 13 15 20、以下程序段( )。 x=-1; do
{ x=x*x;} while(! x);
A.是死循环 B.循环执行二次 C.循环执行一次 D.有语法错误
21、执行语句 for (i=1;i++<4;) ; 后变量 i 的值是( )。
A.3 B.4 C .5 D.不定 22、在定义int a[5][6];后,第10个元素是( )。
A.a[2][5] B.A[2][4] C.a[1][3] D.a[1][5] 23、定义如下变量的数组:
2
int i; int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下列语句的输出结果是( )
for(i=0;i<3;i++) printf(“%d”,x[i][2-i]);
A.1 5 9 B.1 4 7 C.3 5 7 D.3 6 9 24、设int * p,i;以下正确的语句是( )。
A.*p=10; B.i=p ; C.i=*p; D.p=2*p+1; 25、有以下函数
#include
for(i=0;i<=n;i++) printf(“*”); printf(“#”);} main()
{ func(3); printf(“????”); func(4); printf(“\\n”); }
程序运行输出结果是
A ****#????***# B ***#????*****#
C **#????*****# D ****#????*****#
26、下列关系表达式中,结果为“假”的是
A) (3+4)>6 B) (3!=4)>2 C) 3<=4||3 D) (3<4)= =1 27、有以下程序
#include
main( )
{ int a=-2,b=0; while(a++&&++b); printf(\程序运行后的结果是 A)1,3 B)0,2 C)0,3 D)1,2
28、设有定义:int x=0,*p;,立刻执行以下语句,正确的语句是
A) p=x; B) *p=x; C) p=NULL; D) *p=NULL 29、下列叙述中正确的是
A)可以用关系运算符比较字符串的大小
B)空字符串不占用内存,其内存空间大小为0 C)两个连续的单引号是合法的字符常量 D)两个连续的双引号是合法的字符串常量
30、有以下程序
# include
main( )
{ char a='H'; a=(a>'A'&&a<='Z')?(a-'A'+'a'):a; printf(\
程序运行后的输出结果是 A) A B) a C) H D) h
31、有以下程序
# include
int f(int x); main( ) { int a,b=0;
for(a=0;a<3;a++) {b=b+f(a); purchar('A'+b);}} int f(int x) { return x*x+1; }
程序运行后的输出结果是 A) ABE B)BD1 C)BCF D)BCD
32、设有定义:int x[2][3];,则以下关于二维数组x的叙述错误的是
A) x[0]可看作是由3个整型元素组成的一维数组 B) x[0]和x[1]是数组名,分别代表不同的地址常量
3
C) 数组x包含6个元素
D) 可以用语句x[0]=0;为数组所有元素赋初值0
33、设变量p是指针变量,语句p=NULL;是给指针变量赋NULL值,它等价于
A) p= \ B) p='0'; C) p=0; D) p=\34、有以下程序
# include
main( )
{ int a[]={10,20,30,40},*p=a,i;
for(i=0;i<=3;i++) {a[i]=*p; p++; } printf( \ 程序运行后的输出结果是A) 30 B) 40 C) 10 D) 20
35、有以下程序
# include
#define N 3
void fun(int a[][N],int b[]) { int i,j;
for(i=0;i for(j=1;j if(b[i] main( ) { int x[N][N]={1,2,3,4,5,6,7,8,9}, y[N],i; fun(x,y); for(i=0;i 程序运行后的输出结果是 A) 2,4,8 B) 3,6,9 C) 3,5,7 D) 1,3,5 36、有以下程序(strcpy为字符串复制函数,strcat为字符串连接函数) # include { char a[10]=\ strcpy(a+1,b+2); puts(strcat(a,c+1)); } 程序运行后的输出结果是A) a12xyz B) 12yz C) a2yz D) bc2yz 37、以下选项中,合法的是 A) char str3[]={'d', 'e', 'b', 'u', 'g', '\\0'}; B) char str4; str4=\ C) char name[10]; name=\ D) char str1[5]= \ 38、有以下程序 # include main( ) { char *s=\ int k=0,a=0; while(s[k+1]!= '\\0') { k++; if(k%2==0) { a=a+(s[k]- '0'+1); continue; } a=a+(s[k]- '0'); } 4 printf(\ } 程序运行后的输出结果是A) k=6 a=11 B) k=3 a=14 C) k=4 a=12 D) k=5 a=15 39、有以下程序 # include main( ) { char a[5][10]={ \ int i,j; char t; for(i=0;i<4;i++) for(j=i+1;j<5;j++) if(a[i][0]>a[j][0]){ t=a[i][0]; a[i][0]=a[j][0]; a[j][0]=t;} puts(a[1]);} 程序运行后的输出结果是A) fwo 40、有以下程序 # include B) fix C) two D) owo int a=1,b=2; void fun1 ( int a, int b ) { printf(\ void fun2 ( ) { a=3; b=4; } main( ) { fun1 (5,6); fun2( ); printf(\ 程序运行后的输出结果是 A) 1 2 5 6 B) 5 6 3 4 C) 5 6 1 2 D) 3 4 5 6 二、填空题 1、给定三角形的三边长,求三角形面积。 #include { double a,b,c,s,area; a=3.67; b=5.43; c=6.21; s=(a+b+c)/2; printf(\ printf(\ 2、输入一个字符,判别它是否为大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。 #include { char ch; scanf(\ printf(\ 3、求 ?n! n?120#include {double s=0,t=1; int n; printf(\ 4、输出以下4*5的矩阵。 1 2 3 4 5 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 程序:#include int main( ) {int i,j,n=0; for(i=1;i<=4;i++) { //控制在输出5个数据后换行 printf(\ printf(\ 5、输入两个整数,要求输出其中较大者。 #include { int max(int x,int y); int a,b,c; printf(\ scanf(\ printf(\ int max(int x,int y) { int z; } 6、求100~200之间的全部素数。 # include {int n,k,i,m=0; for(n=101;n<=200;n=n+2) { for (i=2;i<=k;i++) if (n%i==0) break; if (i>=k+1){printf(\ ;} if(m==0) printf(\ printf (\ 7、有一函数,当X<0时,y=-1;x=0时,y=0;x>0时,y=1.编程实现输入一个x值,要求输出对应的y值。 #include int main( ) {int x,y; scanf(\ else if(x==0) y=0; else y=1; printf(\ 8、有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号。 #include {int i,j,row=0,colum=0,max; int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}}; max=a[0][0]; for (i=0;i<=2;i++) for (j=0;j<=3;j++) 6 { } printf(\9、有一维数组score,内放10个学生成绩,求其平均值。 #include {float average(float array[10]); float score[10],aver; int i; printf(\ for(i=0;i<10;i++) scanf(\ printf(\ aver=average(score); printf(\ float average(float array[10]) {int i; float aver,sum=array[0]; for(i=1;i<10;i++) aver=sum/10; ;} 10、数组a有10个元素,要求输出数组中的全部元素。 #include {int a[10]; int *p,i; printf(\ for(i=0;i<10;i++) scanf(\ printf(\ printf(\ 11、请写出!(a<=b)等价的C语言表达式 。 12、若有定义语句: char str[]=\,则字符串str在内存中实际占 字节。 13、以下程序运行时从键盘输入:1.0 2.0,输出结果是:1.000000 2.000000,请填空。 # include main( ) { double a; float b; scanf(\ \ printf(\14、 有以下程序 # include { int n1=0,n2=0,n3=0; char ch; while((ch=getchar( ))!='!') switch(ch) { case '1' : case '3' : n1++; break; case '2' : case '4' : n2++; break; default: n3++; break;} printf(\ 若程序运行时输入01234567!<回车>,则输出结果是 。 15、有以下程序 # include main( ) { int i, sum=0; for(i=1;i<9;i+=2) sum+=i; printf(\ 程序运行后的输出结果是 。 16、有以下程序 # include main( ) { int d,n=1234; while(n!=0) 7 { d=n; n=n/10; printf(\ 程序运行后的输出结果是 。 17、有以下程序 # include int k=7; int *st( int *a) { int *c=&k; if(*a>*c) c=a; return c;} main( ) { int i=3, *p=&i, *r; r=st(p); printf(\ 程序运行后的输出结果是 。 18、以下程序的输出结果为 。 # include #define N 3 #define M(n) (N+1)*n main( ) { int x; x=2*(N+M(2)); printf(\ 19、有以下程序 # include int fun( int n) { if(n==0) return (1); return (fun(n-1)*n);} main( ) { int t; t=fun(3); printf(\ 程序运行后的输出结果是 。 三、编程题 1、编写一程序,判断某一年是否闰年 2、有一数组包含10个元素,要求对元素的值由小到大顺序排列,并输出。 3、编写一程序,实现递归法求n!(要求使用主函数调用子函数)。 4、输入两个整数,然后让用户选择1或2,选1是调用max函数,输出二者中的大数,选2是调用min函数,输出二者中的小数。(请使用指针方法进行编程。) 5、用 ?111?1????...公式求?的近似值,直到发现某一项的绝对值小于10?6为止。 43576、用数组来处理求Fibonacci数列问题。 7、将数组a中n个整数按照相反顺序存放,使用指针。 8、输入4个数,找出其中最大的数,用函数的嵌套调用来处理。 9、给出一个百分制成绩,要求输出成绩等级’A’、’B’、’C’、’D’、’E’。90分以上为’A’,80~89分为’B’,70~79分为’C’,60~69分为’D’,60分以下为’E’。 8
正在阅读:
C程序设计-复习题09-15
宏观经济学选择题和判断题03-24
华为认证试题01-16
幼儿园健康活动说课稿09-14
量子力学2001-25
社团年检报告书(2011年度)04-29
2016护理新业务03-16
母亲的手作文800字06-19
二 钢结构厚板冬季焊接(板厚100mm)控制要点 - 图文11-24
300B 单端胆机的实作01-30
- 资料分析模拟题七
- 2012福建公务员考试模拟试题资料总汇
- 公务员考试《申论》模拟题24及答案
- 2014国家公务员考试:行测模拟题之资料分析(10.10)
- 黑龙江公务员考试模拟试题及答案:资料分析部分(第二套)
- 湖南省公务员考试模拟试题行测及答案:资料分析部分(第二套)
- 2014年广西公务员考试行测言语理解数量关系资料分析常识模拟试题
- 江西公务员考试模拟试题及答案:资料分析部分(第三套)
- 2011年辽宁省公务员考试申论综合分析模拟试题四
- 2013年安徽省公务员考试行测资料分析模拟试题五
- 2012年国家公务员考试申论模拟题:食品安全
- 《公共基础知识》模拟试题(2)
- 公务员考试行测逻辑推理模拟试题十三
- 2013申论模拟题-防止地球污染
- 2013年四川省公务员考试《申论》模拟试卷
- 福建省公务员考试模拟试题及答案:资料分析部分(第一套)
- 国家公务员招录考试申论模拟试题(一)及参考答案
- 湖南省公务员考试模拟试题及答案:资料分析部分(第一套)
- 建筑材料模拟试题1
- 2014国家公务员考试-行测模拟题之资料分析(9.26)
- 复习题
- 程序设计
- Office 2007 设置幻灯片的切换效果
- 现代高压输电线路施工技术
- 陕西省西安关中地区气候与农业关系(2)
- 中国人寿保险公司人力资源管理
- 《企业会计准则第9号 - 职工薪酬》应用指南
- 甲级单位编制全棉梳织项目可行性报告(立项可研+贷款+用地+2013案例)设计方案
- 论文要求及选题参考
- 2017年各部门招聘工作总结及2018年招聘工作计划- 副本
- 国贸实务习题答案
- 余姚市职成教中心学校二0一二第二学年高二语文期末考试卷
- 胜在制度,赢在执行 图书读后心得
- 居民消费价格指数与国民经济评价模型汇编
- 物理知识点八年级物理上册第二章第1节声音的产生与传播备课资料新版新人教版
- A类机房
- 铁碳合金
- 下井人员十不准
- “中国知网”大学生论文管理系统使用手册(教师)-2014版 - 图文
- 学生会各类活动策划书
- 2016企业财务会计复习题
- 基础土方开挖方案