C语言复习题
更新时间:2024-04-19 15:50:02 阅读量: 综合文库 文档下载
- c语言复合语句是什么推荐度:
- 相关推荐
Ⅰ、Please fill in the blank spaces with the correct answers. 1、The value of expression strlen(“hello,world!”); is ____________。
2、If a,b,c are integer ,run the expression c=(a=4)-(b=3)+a;,the value of variable c is 。
3、If variable x is integer,the comma expression
((x=5*6,x*6),x+20);,the value is 。
4、If it use the “putchar” function in the program,it should use include command 。
5、If int a=7,b=8,c;,running statement c=a&b;,the value of c is 。
6、In C, the format input function is , the format output function is 。
7、After statements “int j,i=1;j=++i;” are run, the value of variable
i is ,the value of variable j is 。 8、In C, one string literal terminal symbolic is 。
9、Assuming 0x3a is stored variable a , after statement “a=a>>3;” is run, the value in variable a is 。 10、The pointer variable P point to the array A, expression P+i;
point to the ,expression *(P+i); represent 。
Ⅱ、Please choose the correct option(single choice).
1、Set the variable ch is char type, the value is ‘a‘, after expression ch=(ch>=’a’&&ch<=’z’)?(ch-32):ch is run, value of variable ch is( )。
A、A B、a C、Z D、z
2、Set pointer variable p1 and p2 point to a same integer array, k is integer variable, the incorrect statement is ( )。
A、p1=p2; B、p2=k; C、k=*p1+*p2 ; D、k=*p1*(*p2);
3、Running the program fragment, then the value of variable k is ( )。
int k=3,s[2]; s[0]=k; k=s[1]*10;
A、10 B、30 C、33 D、Uncertainty
4、If a function namely “myadd” is defined as follow in the program
float myadd(float a, float b) {return (a+b);}
and it is placed behind the calling function, So, we must declare
function prototype before the function be called, the incorrect declaration statement of function prototype is( )。
A、float myadd(float, float); B、float myadd(float a, b);
C、float myadd(float a, float b); D、float myadd(float x, float y);
5、If the file is not opened correctly,returned value of the library function “fopen” is( )。
A、address B、eof C、0 D、1 6、The output of program fragment is ( )。 char str[]=”Beijin!”;
printf(“%d\\n”,strlen(strcpy(str,”China!”)));
A、5 B、7 C、12 D、14 7、When function is called ,the actual argument is array name, then
the formal argument get ( )。
A、the first address of array B、the first element of array
C、the all elements of array D、the array numbers 8、The ascending order of priority about arithmetic operators、
relational operators and assignment operators is ( )。 A、arithmetic operators、assignment operators、relational operators
B、arithmetic operators、relational operators、assignment operators
C、relational operators、assignment operators、arithmetic operators
D、relational operators、arithmetic operators、assignment operators 9、If char a[5],*p=a;,the correct assignment statement is( )。 A、p=”abc”; B、a=”abc”; C、*p=”abc”; D、*a=”abc”;
10、Assuming: int a=0; double b=1.25; char c=’a’; #define d=2 ;
the incrorrect statement is( )。
A、a++; B、b++; C、c++; D、d++;
11、Assuming:char a[10],*b=a; the statement which do not input a string into the a array is( )。
A、gets(a); B、gets(a[0]); C、gets(&a[0]); D、gets(b);
12、If pointer p point to the variable x,the statement *&p is equal with ( )。
A、x B、*p C、&x D、**p
13、The program fragment for(int i=0;i<=5;i++) i++;
the correct description is ( )。
A、the for statement run 5 times B、the for statement run 4 times
C、the for statement run 2 times D、the for statement run 3 time
14、The incorrect statement is( )。
A、if (x D、if (x!=y) scanf (\%d\&x); else x++; 15、The program fragment enum color{red,yellow,blue=5,green,white}c1; c1=yellow; c1=white; the value of c1 is ( )。 A、1 B、3 C、7 D、6 III、Judge the following subjects,if correction,please fill √,otherwise × . 1、 In loop,the effects of break statement and continue statement is the same。( ) 2、 The pointer variable can pointe any type value。 ( ) 3、 Definition the two dimension array, the col number and row number can be omitted。 ( ) 4、 In definition and calling function,the formal parameter numbers and the actual parameter numbers can be the same。 ( ) 5、 The function must be have the return value。( ) 6、In C,the array name is a pointer constant。( ) 7、In structure,the type of each member can not be the same。( ) 8、In C, the basic data type are char、int、float and boolean。( ) 9、In C, the aph and APH indicate the same variable。( ) 10、The expression constant 0195 is a octal。( ) Ⅳ、program: 1、 求1+2+3+4+….+100的累加和. main(){ int i ,sum=0; for(i=0;i<=100;i++) sum=sum+i; printf(“sum=%d”,sum); } 2、 编写一个C程序:输入a, b, c三个值,输出其中最大者 main(){ int a,b,c,max; printf(“please input three numbers:\\n”); scanf(“%d,%d,%d”,&a,&b,&c); max=a; if(max printf(“the largest number is %d:\\n”,max); } 3、 从键盘输入两个0到127的整数,求两数的平方差并输出其值以及这两个整数的ASCII码对应的字符 main(){ int x,y,sub; scanf(\,%d\&x,&y); if(x<0||x>127||y<0||y>127){ printf(\he data error!\ exit(0); } sub=x*x-y*y; printf(\%c,%d\\n\x,y,sub); } 4、 输入三角形的三边长,判断这个三角形是否是直角三角形。 main(){ int a,b,c,t; scanf(\,%d,%d\&a,&b,&c); if(a if(a if(a*a==b*b+c*c) printf(\\; else printf(\\; } 5、 输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数 #include int i=0,j=0,k=0,l=0; while((c=getchar())!='\\n'){ if(c>=65&&c<=90||c>=97&&c<=122) i++; else if(c>=48&&c<=57) j++; else if(c==32) k++; else l++; } printf(\%d,j=%d,k=%d,l=%d\\n\i,j,k,l); } 6、 输入一个三位数,若此数是水仙花数输出“Y”,否则输出“N”, 若输入值不是三位数输出“data error”。 main(){ int a,b,c,d; printf(\lease input a number:\\n\; scanf(\\&d); if(d<100||d>999){ printf(\he data error!\ exit(0); } a=d; b=d0/10; c=a/100; if(d=a*a*a+b*b*b+c*c*c) printf(\\; else printf(\\; } 7、 给出一个百分制成绩,要求输出成绩等级“A”、“B”、“C”、“D”、“E”。90分以上为“A”,81~89分为“B”,70~79为“C”,60~69为“D”,60分以下为“E”。当输入数据大于100或小于0时,通知用户“输入数据错”,程序结束。请用switch语句加以实现。 main(){ int score,s; char grade; printf(\lease input the score:\\n\; scanf(\\&score); while(score<0||score>100){ printf(\he score is error!\ exit(0); } s=score/10; switch(s){ case 9: grade='A';break; case 8: grade='B';break; case 7: grade='C';break; case 6: grade='D';break; case 5: case 4: case 3: case 2: case 1: case 0: grade='E';break; } printf(\he score is %d,the grade is %c.\\n\score,grade); } 8、 输入一组整数,统计其中奇数偶数个数,直到遇到回车为止。 算法分析:可设一整型变量x,循环的输入整数的值,若x%2==0即为偶数,否则是奇数。 main(){ int x,i,j; scanf(\\&x); while(x!='\\n') { if(x%2==0) i=i+1; else j=j+1; scanf(\\&x); } printf(\d,j:%d\i,j); exit(1); } 9、 打印如下图案 * * * * * * * * * * * * * * * * 算法分析:从图案中找出行数,空格数,星号数间的关系如下: 行数 空格数 星号数 1 3 1 2 2 3 3 1 5 4 0 7 i 4-i 2*i-1 可用双重循环控制整个图案的输出。若用循环变量i,j分别控制外层,内层循环,则i的取值从1到4,表示行数,在每行中要确定前面空格个数和星号个数,空格个数是4-i,星号个数是2*i-1。 void main(){ int i,j,k; for(i=1;i<=4;i++){ for(j=1;j<=4-i;j++) printf(\\; for(k=1;k<=2*i-1;k++) printf(\\; printf(\n\ } } 10、把费波拉契(Fibonacci)数列的前50个数输出 int fbi(int i){ int f; if( i==1||i==0){ f=1; return f;} else{ f=fbi(i-1)+fbi(i-2); return f; } } main(){ int i,j; for(i=0;i<50;i++) { j=fbi(i); printf(\\\n\j); } } 11、分别求一个5×5矩阵的所有行之和、列之和、两条对角线上的元素之和。(二维数组的应用) 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 main(){ int i,j; int x[5][5]={{17,24,1,8,15},{23,5,7,14,16},{4,6,13,20,22},{12,12,19,21,3},{11,18,25,2,9}}; int rowSum[5],colSum[5],diagSum1,diagSum2; int flag=1; for(i=0;i<5;i++){ rowSum[i]=0; for(j=0;j<5;j++) rowSum[i]=rowSum[i]+x[i][j]; } for(j=0;j<5;j++){ colSum[j]=0; for(i=0;i<5;i++) colSum[j]=colSum[j]+x[i][j]; } diagSum1=0; for(j=0;j<5;j++) diagSum1=diagSum1+x[j][j]; diagSum2=0; for(j=0;j<5;j++) diagSum2=diagSum2+x[j][5-1-j]; for(i=0;i<5;i++) printf(\\rowSum[i]); for(i=0;i<5;i++) printf(\\colSum[i]); printf(\\diagSum1); printf(\\diagSum2); } 12、输入一长度不超过10的字符串,判断它是否回文(字符串的应用) #include into i,j,flag=1; char s1[10]; scanf(\\s1); for(i=0,j=strlen(s1)-1;i printf(\\; } 13、打印杨辉三角形前10行。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 main(){ int a[10][10],i,j; for(i=0;i<10;i++) for(j=0;j<=i;j++) { if(i==j||j==0) a[i][j]=1; else a[i][j]=a[i-1][j]+a[i-1][j-1]; printf(\d\a[i][j]); if(i==j) printf(\n\ } } 14、有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值以及他所在的行号和列号. main(){ int i,j,row=0,col=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++) if(a[i][j]>max){ max=a[i][j]; row=i; col=j; } printf(\x=%d,row=%d,col=%d\\n\max,row,col); } 15、写一函数,使输入的一个字符串按反序存放,在主函数中输入输出字符串。 main(){ char str[100]; gets(str); fanxu(str); puts(str); } fanxu(char str[100]){ int i,t,j; char str1[100]; strcpy(str1,str); t=strlen(str); for(i=0,j=t-1;j>-1;i++,j--) str[i]=str1[j]; } 16、定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值 #define CHANGE(a,b,t) t=a;a=b;b=t main(){ int c,d,s; scanf(\,%d\&c,&d); CHANGE(c,d,s); printf(\%d,d=%d\\n\c,d); } 17、输入两个整数,求他们相除的余数。用带参的宏来实现,编程序 #define Q(a,b) a%b main(){ int c,d,t; scanf(\ %d\&c,&d); t=Q(c,d); printf(\%d\\n\t); } 18、编写一个函数print,打印一个学生的成绩数,该数组中有5个学生的数据记录,每个记录包括num、name、sore[3],用主函数输入这些记录,用print函数输出这些记录。 #define N 5 struct student{ char num[6]; char name[8]; int score[4]; }stu[N]; void main(){ int i,j; void print(struct student stu[N]); for(i=0;i printf(\nInput score of student%d:\\n\i+1); printf(\O:\ scanf(\\stu[i].num); printf(\ame:\; scanf(\\stu[i].name); for(j=0;j<=3;j++){ printf(\re%d:\j); scanf(\\&stu[i].score[j]); } printf(\n\ } print(stu); } void print(struct student stu[N]){ int i,j; printf(\n NO,name score1 score2 score3\\n\; for(i=0;i printf(\ss\stu[i].num,stu[i].name); for(j=1;j<=3;j++) printf(\d\stu[i].score[j]); printf(\n\ } } 19、从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以“!”结束。 #include FILE *fp; char str[100]; int i=0; if((fp=fopen(\\\\=NULL) {printf(\an not open the file\\n\ exit(0); } printf(\nput a string:\\n\; gets(str); while(str[i]!='!') {if (str[i]>='a'&&str[i]<='z') str[i]=str[i]-32; fputc(str[i],fp); i++; } fclose(fp); fp=fopen(\t\\\; fgets(str,strlen(str)+1,fp); printf(\\\n\str); fclose(fp);}
正在阅读:
C语言复习题04-19
市供销社2022年三位一体改革工作计划07-30
2014-2019年中国丝网印刷市场动态监测及竞争战略研究报告05-14
2012年清华大学金融专业硕士学位报名04-11
制药厂施工组织设计方案05-04
议协理代输运口出06-12
2022年北京市培养单位生态环境研究中心820有机化学之有机化学考04-19
我做了一件傻事作文400字07-05
我最敬佩的老师作文500字07-03
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 复习题
- 语言
- 2018年德宏律师收费标准
- 超星尔雅尔雅《创新中国》练习题带答案
- 加油站JHA工作危害分析表
- 线代强化讲义
- 中铁建城建集团有限公司设备管理办法(试行)
- 铁总办〔2016〕74号中国铁路总公司关于进一步明确土地综合开发有
- 泰州市四星级高中联盟参评论文目录
- 中国网灯行业市场前景分析预测年度报告(目录) - 图文
- 风机事故应急预案
- 湖北省监利县第一中学2015届高三数学一轮复习 第1课时 变化率与
- 证券公司集团化风险管理体系架构研究
- 2011党支部年度工作计划
- 品德与社会五年级学会沟通的技巧教学设计及反思
- 医德医风试题(附答案)
- 2013操作系统作业 - 4类12次
- 2014企业会计准则修订与发布
- 江苏苏州工业园区2015九年级上期中试题--政治
- 初中化学试卷讲评课教学策略和方法-最新资料
- 班主任技能大赛 案例分析题
- 西南科技大学半期试题