




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档一、选择题(蓝色加粗为正确选项)在语言中,合法的字符常量是( )。A. 字 B. A C. ABC D. x41在C语言中,用户能使用的合法标识符是( )。A. 姓名 B. _xyz C. 5i D. for在语言中,不合法的实型常量是( )。A. -0.123 B. -.123 C. -1.23e-1 D. -123e-3.0C语言的下列运算符中,优先级最高的运算符是( )。A. + B. += C. | D. !=设有说明语句 int k,i=5,j=10;,则表达式 k=(+i)*(j-)的值是( )。A. 50 B. 60 C. 45 D. 55设有说明语句 int i,j;,则表达式i=j|ij的值是( )。A. 视i、j的具体值而定 B. FALSEC. TRUE D. 1已知A的ASCII码的十进制值为65,0的ASCII码的十进制值为48,则以下程序运行结果是( )。main() char ch1,ch2; ch1=A+5-3; ch2=A+6-3; printf(%d,%cn,ch1,ch2);A. 67,D B. C,D C. C,68 D. 67,68设有语句 int x=2,y=3;,则表达式x=(y=3)的值是( )。A. 0 B. 1 C. 2 D. 3以下程序的运行结果是( )。main() unsigned a = 0x3ef, b; b = a =y)&(y=z) B. (x=y)AND(y=x)C. x=y=z D. (x=y)&(y=z)设int a,b;,用语句scanf(%d%d,&b); 输入a、b值时,不能作为输入数据分隔符的是( )。A. 空格 B. , C. 回车 D. Tab以下程序运行时,若从键盘输入5,则输出结果是( )。main() int a; scanf(%d,&a); if(a+5) printf(%dn, a); else printf(%dn,a-);A. 7 B. 4 C. 5 D. 6以下程序的运行结果是( )。main() int a, b, c; a = b = c = 1; if ( a+ | +b ) c+; printf(%d, %d, %dn, a, b, c);A. 2, 1, 2 B. 1, 2, 1C. 2, 2, 2 D. 2, 2, 1 以下程序的运行结果是( )。main() int i=3,j=2,k; k=i+j; int k=8; if(i=3) printf(%2d,k); else printf(%2d,j); printf(%2d%2dn,i,k);A. 8 3 5 B. 8 3 8C. 3 8 3 D. 5 8 3有以下程序:main() int c; while(c=getchar()!= n) switch(c-2) case 0 : case 1 : putchar(c+4); case 2 : putchar(c+4); break; case 3 : putchar(c+3); default: putchar(c+2); break; printf(n);当输入:247,程序的输出结果是( )。A. 689 B. 6689 C. 66778 D. 66887以下程序的运行结果是( )。main() int a=1,b=0; switch(a) case 1: switch(b) case 0: printf(0000n); case 1: printf(1111n);break; case 2:printf(2222n);break; A. 0000 1111B. 0000 1111 2222C. 0000 2222D. 1111 2222以下程序的运行结果是( )。void main() int a=1; switch(a) case 1: printf(aaaan); case 2: printf(bbbbn); break; default: printf(ccccn); A. aaaaB. aaaa bbbb ccccC. aaaa bbbbD. aaaa cccc以下程序运行后,a的值是( )。main() int a,b; for(a=1,b=1;a=20) break; if(b%3=1) b+=3; continue; b-=5; A. 101 B. 100 C. 8 D. 7以下程序段的运行结果是( )。main() int i,j; i=10; j=20; for(;j=0;j-=20) if(i=j) printf(Good! ); else printf(Not good!); A. Good!Good! B. Not good!C. Good! D. Good! Not good!以下程序的运行结果是( )。main() int a,b,c,n=13; printf( A B Cn); for(a=1;a=n;a+) for(b=1;b=n;b+) for(c=b;c0|E0);C. do while(E=0); D. do while(E!=0);以下程序的运行结果是( )。main() int i,s; i=0; s=1; do s/=s+1; i+; while(i=100) break; B. int k=0; do +k; while(k=0);C. int s=10; while(+s%2+s%2) s+;D. for(;)循环语句循环体中执行continue语句,其作用是( )。A. 立即终止程序运行B. 继续执行continue语句之后的循环体各语句C. 结束本次循环D. 结束本次循环,跳出循环 下列do.while循环的循环次数是( )。int i=5;do printf(%dn,i-); i-;while(i!=0)A. 0 B. 2 C. 5 D. 死循环设已定义char s=NameAddress023n;,则字符串中字符个数是( )。A. 19 B. 15 C. 18 D. 14已定义char x8; int i;,为了给该数组赋值,下列语句正确的是( )。A. x8=Turbo C; B. x=Turbo C;C. x=Turbo C; D. for(i=0;i=0;j-) pic(3-j, ); pic(i+2*j, *); putchar(n); pic(int len,char C. int k; for(k=1;k=len;k+) putchar(C.;A. * * * *B. * * * *C. * * * *D. * * * *以下程序运行结果是( )。main() char a5= ABCD,1234,abcd,5678,EFGH; int i; for(i=0;i3;i+) printf(%s,ai);A. A1a B. ABCD1234abcdC. ABC D. ABCD1234abcd5678EFGH以下程序的运行结果是( )。main() int array44; int i,j; for(i=0;i4;i+) for(j=0;j4;j+) arrayij=i+j; for(i=0;i4;i+) for(j=0;j4;j+) if(i=j|i+j=3) array0j=0; for(j=0;j4;j+) printf(%2d,array0j); printf(n);A. 2 0 0 5 B. 1 0 0 4C. 0 1 2 0 D. 0 4 5 0设有下列语句,则( )是对a数组元素的不正确引用,其中0i10。 int a1=0,1,2,3,4,5,6,7,8,9, *p=a;A. ap-a B. *(&ai)C. pi D. *(*(a+i)若有以下程序:main char ch=I am student! , *p; p=ch; printf(%xn,p); printf(%xn,p+9);其中第一个printf()运行结果是ffd6,则第二个printf()运行结果是( )。A. ffdf B. ffe8 C. ffd6 D. ffcf以下程序的运行结果是( )。main() int i; char aa3=a,b,c,d,e,f; char (*p)3=aa; for(i=0;i=0 & chi=9) s=10*s + chi - 0; printf(%dn,s);A. 12 B. xy C. 12xy89 D. 1289以下程序运行后,输出的结果是( )。fun(char *w) char t, *s1, *s2; for(s1=w, s2=w+strlen(s1)-1; s1s2; s1+, s2-) t = *s1; *s1 = *s2; *s2 = t; main() char *p=12345; fun(p); puts(p);A. 12345 B. 54321 C. 15115 D. 51551以下程序中的循环执行了( )次。#define N 2#define M N+1#define NUM (M+1)*M/2main() int i,n=0; for(i=0;idata); B) for(;!p;p=p-next) printf(%d,(*p).data);C) while(p) printf(%d,(*p).data); p=p-next; D) while(p!=NUll) printf(%d,p-data); p+; 若有以下定义:struct link int data; struct link *next; a,b,c, *head, *p;其中,指针head指向变量a,p指向变量c,a.next指向变量b,链表结构如下图所示: a b c data next18NULL396 head p则能够把c插入到a和b之间并形成新链表的程序段是( )。A) a.next = c; c.next = b;B) head.next = p; p.next = head.next;C) head-next = &c; p-next = head-next;D) (*head).next = p; (*p).next = &b;若有以下定义:struct link int data; struct link *next; *head, *p;并已建立如下图所示的链表结构: p data next78NULL169 head则能保留链表其它结点,而删除p所指向结点的程序段是( )。A) head-next = p-next; free(p);B) head-next = p; p-next = head-next; free(p);C) free(p); head-next = p; p-next = head-next; D) free(p); head-next = p-next;以下程序的功能是( )。#include main() FILE *fp; long int n; fp=fopen(wj.txt,rb); fseek(fp,0,SEEK_END.; n=ftell(fp); fclose(fp); printf(%ld,n);A. 计算文件wj.txt的起始地址 B. 计算文件wj.txt的终止地址C. 计算文件wj.txt的长度 D. 将文件指针定位到文件末尾标准函数fgets(s, n, f)的功能是( )。A. 从文件f中读取长度为n的字符串存入指针s所指的内存B. 从文件f中读取长度不超过n-1的字符串存入指针s所指的内存C. 从文件f中读取n个字符串存入指针s所指的内存D. 从文件f中读取长度为n-1的字符串存入指针s所指的内存以下程序的可执行文件名是file.exe。main(argc,argv)int argc;char *argv; int i; for(i=2;iargc;i+) printf(%s%c,argvi,(iargc-1)? :n);现在DOS命令行输入:file My C Language and Programming,其输出结果是( )。A. C Language and ProgrammingB. My C Language and ProgrammingC. MyCLanguageandProgrammingD. file My C Language and Programming二、填空题1、以下程序实现计算10的阶乘。#include viod main() long p; int i; p= 1 ; for(i=1; i=a&si=A&si=Z ) si=si+ (a-A) ; puts(s);3、以下程序实现从键盘输入一个3行5列的二维整型数组表示的35的矩阵,并计算第2行元素之和。#include void main() int i, j ; int a35, sum; sum= 0 ; printf(Input 15 numbers: ); for(i=0; i3 ; i+) for(j=0; j5; j+) scanf(%d, &aij ); for(j=0;j5;j+) sum += a1j ; printf(%dn,sum);4、以下程序实现输入一个4行4列的整型数组,求其元素的最大值和最小值。#includestdio.h#define ROW 4#define COL 4void main() int a44 , i, j, max, min; printf(input the 16 integers: ); for(i=0;iROW;i+) for(j=0; jCOL ; j+) scanf(%d,&aij); max=min= a00 ; for(i=0;iROW;i+) for(j=0;jmax ) max=aij; if(aijmin) min=aij ; printf(max=%dn, max); printf(min=%dn, min);5、以下程序实现计算5个学生的总成绩和平均成绩,其中5个学生的成绩存储在一个结构体数组中。#include struct stu char name10; float score; ;void main() struct stu st5=Mary,76,John,85,Tom,81.5, Luis,76,Michel,90.5; int i=1; float aver, total=0.0 ; while( i=5 ) total=total+ sti-1.score ; i+; aver= total/5 ; printf(ntotal=%.2f,aver=%.2fn, total, aver);6、以下程序实现输入若干整数,统计其中大于零和小于零的个数。以零结束输入。#include void main() int n, a, b; a=b= 0 ; scanf(%d,&n); while( n!=0 ) if(n0) a+ ; else b+; scanf(%d, &n ); printf(Number of N0 or N0 integers are: %d, %dn, a, b);7、以下函数sort用冒泡法实现对数组 a 中的m个元素进行从大到小(降序)排序。void sort(int a, int m) int i, j, t, temp; for( i=0; i m-1 ; i+ ) temp = 0; for( j=0; j aj+1) temp = 1; t = aj; aj = aj+1 ; aj+1 = t; if(!temp) break ; 8、以下函数sort用选择法实现对数组 a 中的m个元素进行从小到大(升序)排序。void sort(int a, int m) int i, j, k, t; for( i = 0; i m-1; i+ ) k=i ; for( j=i+1; j m ; j+) if( aj ak ) k=j ; if( k != i ) t = ak; ak= ai; ai = t ; 三、改错题1、以下程序实现统计输入字符串中英文字母、数字和其它字符的个数。以回车结束输入。#include void main() char ch; int letter; number; other; letter=number=other=0; / =while(ch=getchar()!=0) / n if (ch=a&ch=a&ch=A&ch=0 & ch=0&ch=9) else other+; printf(letter=%d,number=%d,other=%dn, &letter, &number, &other); / letter, number, other2、以下程序实现从键盘输入三角形的三边长,求其面积,若三个边长不能构成三角形,则提示。#include #include void main() int a,b,c,s,area; scanf(%f%f%f, a, b, c); &a, &b, &c if( a+bc | b+ca | a+cb ) / & & s = (a+b+c)/2; area = sqrt(s(s-a)(s-b)(s-c); s*(s-a)*(s-b)*(s-c) printf(area is %.2fn,area); else printf(Invalid input.n); / “ “3、以下程序实现求解百元买百鸡问题:设一只公鸡2元、一只母鸡1元、一只小鸡0.5元,那么一百元买一百只鸡,其中公鸡、母鸡、小鸡数可分别为多少?有多少种方案?#include void fun() / int int hen, cock, chicken, n=0; for(cock=0; cock=50; cock+=1) for(hen=0; hen=100; hen+1) / hen+ chicken=2*(100-hen-2*cock); if(cock+hen+chicken=100) / = n+; printf(hen: %d, cock: %d, chicken: %dn, hen, cock, chicken); return n;void main() printf(方案有:%d种n, fun); / fun()4、以下程序实现将输入的字符串转换成密文,方法是:字母a转换成1、b转换成5、c转换成3、d转换成9、e转换成7,其他字符不变。#include #include void main() char s64, t64; char tab5,2=a,1,b,5,c,3,d,9,e,7; / 52 int i, j=0; printf(Input an original string: ); scanf(%s, s);strcpy(t,s); while(tj) for(i=0; i=5; i+) / if tj=tabi0 / (tj=tabi0) tj=tabi1; continue; / break j+; printf(The target string: %cn,t); / s5、以下程序利用指针实现将输入的字符串拷贝给另一字符数组。#include void main() char s1128, s2128; char * p1=s1,*p2; scanf(“%s”, &s1); / s1 p2 = NULL; / s2 while(*p2) *p2+ = *p1+; / *p1 printf(%cn, s1); / %s s26、以下程序实现将从键盘依次输入的M个整数逆序输出。#include #define M 8void main() int aM, i; printf(Input 8 numbers: ); for(i=1; i=M; i+) / i=0; iM; scanf(%d, ai); / &ai printf(Inverse order is: ); for(i=M-1; i= printf(%d , ai); printf(n); / “n”四、编程题1、编写程序实现按下式计算分段函数值,x由键盘输入,输出y。x+5 x1y = 2x 1102、编写一个实现整型数组元素升序排序的函数。3、编写一个输出1000以内所有素数的程序。4、编写一个计算并输出如下数列前n项的程序。1,3,7,15,31,63,127,5、编写一个输出所有水仙花数的程序。水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,153135333。6、编写一个将输入字符串逆向输出的程序。7、编写一个实现文件复制的函数。(参考程序)1、#include void main() float x,y; scanf(“%f”, &x); if(x=1) y=x+5; else if (x=10) y=2*x; else y=3/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-浙江-浙江垃圾清扫与处理工一级(高级技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-河南-河南广播电视天线工二级(技师)历年参考题库含答案解析
- 2024版仿古建筑修复工程施工合同
- 2025年事业单位工勤技能-江西-江西广播电视天线工五级(初级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西计算机文字录入处理员二级(技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东热处理工一级(高级技师)历年参考题库典型考点含答案解析
- 2025年中级卫生职称-主管技师-心电学技术(中级)代码:387历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-北京-北京图书资料员五级(初级工)历年参考题库含答案解析
- 烯烃分离基础知识培训课件
- 2025年职业技能鉴定-铁路职业技能鉴定-铁路职业技能鉴定(铁路钢轨探伤工)初级历年参考题库含答案解析(5套)
- 粮食仓储(粮库)安全生产标准化管理体系全套资料汇编(2019-2020新标准实施模板)
- 喜茶运营管理手册和员工操作管理手册
- 比亚迪汉DM-i说明书
- 心肾综合征及其临床处理
- 普通高中课程方案
- 2022年山东高考生物试卷真题及答案详解(精校版)
- GB/T 38936-2020高温渗碳轴承钢
- 高考地理一轮复习课件 【知识精讲+高效课堂】 农业区位因素及其变化
- 教师专业发展与名师成长(学校师范专业公共课)
- 互通立交设计课件
- 生物竞赛辅导 动物行为学第七章 行为发育(38)课件
评论
0/150
提交评论