C程序设计习题解答.doc

上传人:牧羊曲112 文档编号:4196708 上传时间:2023-04-09 格式:DOC 页数:47 大小:106.50KB
返回 下载 相关 举报
C程序设计习题解答.doc_第1页
第1页 / 共47页
C程序设计习题解答.doc_第2页
第2页 / 共47页
C程序设计习题解答.doc_第3页
第3页 / 共47页
C程序设计习题解答.doc_第4页
第4页 / 共47页
C程序设计习题解答.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《C程序设计习题解答.doc》由会员分享,可在线阅读,更多相关《C程序设计习题解答.doc(47页珍藏版)》请在三一办公上搜索。

1、一、选择题(蓝色加粗为正确选项)在语言中,合法的字符常量是( )。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;,则表达式

2、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 =

3、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+ |

4、 +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

5、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);br

6、eak; 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;

7、 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)

8、;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

9、=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=l

10、en;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+

11、) 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(%x

12、n,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(

13、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-

14、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-

15、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-n

16、ext; 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中读

17、取长度不超过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 P

18、rogrammingC. 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

19、 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+) sca

20、nf(%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; i

21、nt 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;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号