程序设计基础练习题(全部有答案版).doc

上传人:wux****ua 文档编号:8860316 上传时间:2020-04-01 格式:DOC 页数:43 大小:200.50KB
返回 下载 相关 举报
程序设计基础练习题(全部有答案版).doc_第1页
第1页 / 共43页
程序设计基础练习题(全部有答案版).doc_第2页
第2页 / 共43页
程序设计基础练习题(全部有答案版).doc_第3页
第3页 / 共43页
点击查看更多>>
资源描述
一、单项选择题(每小题2分,共20分)第一章D 1.下列说法中错误的是( )。A、程序的执行总是从主函数开始 B、主函数可以调用任何非主函数的其它函数 C、任何非主函数可以调用其它任何非主函数 D、程序可以从任何非主函数开始执行 C 2.若a=4,b=7,则输出4*7=28的语句是( )。 A、printf(“a*b=%dn”a+b);B、 printf(“a*b=%dn”,a*b); C、printf(“%d*%d=%dn”,a,b,a*b);D、 printf(“%d*%d=%dn”,a+b);第三章C 1. C语言中int型数据占2个字节,则long型数据占(C )个字节。A、1B、2C、4D、8D 2.若C中int型数据占2个字节,则double型数据占(D )个字节。A、1B、2C、4D、8B 3.若a为整型变数,则以下语句(B )。a=-2L;printf(“%dn”,a);A、赋值不合法B、输出-2C、输出不确定值D、输出2D 4.若int型数据占2个字节,则下列语句的输出为(D )。int k=-1;printf(“%d,%un”,k,k);A、-1,-1B、-1,32767C、-1,32768D、-1,65535B 5.下列程序的输出是(B )。#includemain()printf(“%dn”,null);A、0B、变量无定义C、-1D、1C 6.若x为float型变数,则以下语句:x=223.82748;printf(%6.2fn,x);运行结果为(C )。A、223.8B、223.82C、223.83D、223.827D 7. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a 的值是(D )。A、3B、0C、9D、-12第四章A 1. 执行语句:a=5,b=8;printf(“%dn”, c=a/b); 后输出的值为(A )。A、0B、0.6C、0.625D、0.625000B 2. 下列语句(B )。int k=8567;printf(“|%06d|n”,k);A、输出格式描述符不合法B、输出为|008567|C、输出为|8567 |D、输出为|-08567|C 3. 下列语句(C )。int k=8567;printf(“|%-06d|n”,k);A、输出格式描述符不合法B、输出为|008567|C、输出为|8567 |D、输出为|-08567|C 4. 若ch为字符型,k为整,则执行下列语句后的输出为(C )。ch=a;k=12;printf(“%x,%o,”,ch,ch,k);printf(“k=%dn”,k)A、因变量类型与格式描述符的类型不匹配,输出无定值;B、输出项与格式描述符个数不符,输出为0或不定值;C、61,141,k=%d;D、61,141,k=%12D 5. 若k,g为int型变数,则下列语句的输出为(D )。k=017;g=111;printf(“%d,%xn”,+k,g+);A、15,6fB、16,70C、15,71D、16,6fB 6. 有以下程序I和II,判断它们的输出(B )。I#includemain()int a=4,b=7; printf(“%dn”,(a=a+1,b+a,b+1);II#includemain()int a=1,b=2; printf(“%dn”,a=a+1,a+b,b+1);A、I输出5,II输出2B、I输出8,II输出2C、I输出5,II输出3D、I输出8,II输出3A 7. 下列程序的输出为(A )。#includemain()int m=7,n=4; float a=38.4,b=6.4,x; x=m/2+n*a/b+1/2; printf(“%fn”,x);A、27.000000B、27.500000C、28.000000D、28.500000第五章D 1. 在C语言中,能代表逻辑值“真”的是(D )。A、trueB、大于0的数C、非0整数D、非0的数C 2. 若给定表达式(M)?(a+):(a-),则其中表达式M(C )。A、和(M= =0)等价B、和(M= =1)等价C、和(M!=0)等价D、和(M!=1)等价D 3. 在C语言的if语句中,用作判断的表达式为(D )。A、关系表达式B、逻辑表达式C、算术表达式D、任意表达式D 4. 以下程序的输出是(D )。#includemain()int i,j,k,a=3,b=2; i=(-a= =b+)?- a:+b; j=a+;k=b; printf(“I=%d,j=%d,k=%dn”,i,j,k);A、i=2,j=1,k=3B、i=1,j=1,k=2C、i=4,j=2,k=4D、i=1,j=1,k=3B 5. 执行下面的程序:main()int x; scanf(%d, &x); if (x+5) printf(%dn, x); else printf(%dn,-x);若输入5,则输出为(B )。A、6B、-6C、5D、-56. 有程序段:int a,b;a=9; b=10;则表达式:(+a= =b-)?-a:+b的值为(B )。A、8B、9C、10D、117. 假设所有变量都是整型,则表达式:a=2,b=5,ab?a+:b+,a+b的值为(B )。A、7B、8C、9D、28. 下面程序的输出为(A )。#includevoid main() int a,b,c;a=10;b=50;c=30; if(ab) a=b, b=c;c=a; printf(“a=%d,b=%d,c=%dn”,a,b,c);A、a=10,b=50,c=10B、a=10,b=30,c=10C、a=50,b=30,c=10D、a=50,b=30,c=50C 9. 下面程序运行后输出的结果是( )。main() int n; for(n=0;n3;n+) switch(n) case 1: printf(“%d”, n); case 2: printf(“%d”, n); default: printf(“%d”, n) A、012B、120C、011122D、01202010. 下面程序的输出是(B )。#includevoid main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+;break; case 1: b+;break; case 2: a+;b+;break; case 3: a+;b+; printf(“a=%d,b=%dn”,a,b);A、a=1,b=0B、a=2,b=1C、a=1,b=1D、a=2,b=2第六章1. 下面循环的执行次数是(4 )次。n=0;while(+n5) printf(%3dn,n); 2. C语言中,用于结构化程序设计的三种基本结构是(A )。A、顺序结构、选择结构、循环结构;B、if、switch、break;C、for、while、do- while;D、if、goto、continue:3. 在C语言中,为了结束while语句构成的循环,while后一对圆括号中表达式的值应该为(A )。A、0B、1C、trueD、非04. 在C语言中,为了结束do-while语句构成的循环,while后一对圆括号中表达式的值应该为(A )。A、0B、1C、trueD、非05. 若k为整型,则while循环执行(C )。k=10;while(k=0) k=k-1;A、10次B、无限次C、0次D、2次6. 若k为整型,则while循环执行(B )。k=2;while(k= =0) printf(“%d”,k),k-;printf(“n”);A、无限次B、0次C、1次D、2次7. 下面程序执行后,k的值是(C )。#include main()int k=2;while(k=0)printf(%d,k),k-;printf(k=%dn,k);printf(n);A、0B、1C、2D、-28. 下面程序的输出为(B )。#includemain()int i,j,x=0; for(i=0;i2;i+) x+; for(j=0;j=3;j+)if(j%2) continue;x+; x+;printf(x=%dn,x);A、x=4B、x=8C、x=6D、x=12第七章1. 以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值,则在下划线处应填入的是(D )。#define N 10void arrin(int xN) int k=0; while(kN) scanf (“%d”, );A、x+kB、&xk+1C、x+(k+)D、&xk+2. 以下能正确定义数组并正确赋值的语句是(D )。A、int N=5,aNN;B、int b12=1,3;C、int c2=1,2,3,4;6D、int d32=1,2,34;3. 不正确的字符串赋值或赋初值方式是(C )。A、 char *str; str=”string”;B、 char str7=s,t,r,i,n,g;C、 char str10; str10=”string”;D、 char str1=”string”,str2=”12345678”; strcpy(str2,str1);4. 若有以下定义和语句,则输出结果是(C )。char s12=”a book!”;printf(“%d”, strlen(s);A、9B、8C、7D、65. 若有以下定义和语句,则输出结果是(B )。char s=”a book!”;printf(“%d”, sizeof(s);A、9B、8C、7D、6第八章C 1. C语言可执行程序的开始执行点是( )。A、第一条可执行语句B、第一个函数C、main函数D、包含文件中的第一个函数C2. C语言中规定,若对函数类型未加显示说明,则函数的隐含类型为( )。A、voidB、doubleC、int D、charC 3. C语言程序中,当调用函数时( )。(不确定)A、实参和形参各占一个独立的存储单元B、实参和形参可以共享存储单元C、可以由用户指定是否共享存储单元D、由计算机系统自动确定是否共享存储单元 C 4.下面程序的输出结果为( )。#include void main()int f(); int i=2,k; k=f(i,+i); printf(%dn,k);int f(int a,int b)int c; c=a; if(ab) c=1; else if(a=b) c=0; else c=-1; return(c);A、2B、1C、-1D、0A 5.下面程序的输出结果是( )。#includemain()int func(int a,int b);int k=4,m=1,p;p=func(k,m);printf(%d,p);p=func(k,m);printf(%dn,p);int func(int a,int b)static int m,n=2; n+=m+1; m=n+a+b; return(m);A、8,17B、8,16C、8,20D、8,8第九章C 1.以下叙述正确的是( )。A、在程序的一行上可以出现多个预处理命令行B、预处理行是C的合法语句C、被包含的檔不一定以 .h 作为后缀D、在以下定义中C R是称为“宏名”的标识符 #define fc 4566 CRB 2.在“檔包含”预处理语句的使用形式中,当#include后面的文件名用“”(双引号)括起时,寻找被包含檔的方式是( )。A、直接按系统设定的标准方式搜索目录B、先在源程序所在目录搜索,再按系统设定的标准方式搜索C、仅仅搜索源程序所在目录D、仅仅搜索当前目录C 3.以下叙述中不正确的是( )。A、预处理命令行都必需以#开始B、在程序中凡是以#号开始的语句行都是预处理命令行C、程序在执行过程中对预处理命令行进行处理D、在下是正确的宏定义#define IBM_PCC 4.以下程序的运行结果是( )。#define PT 3.5#define S(x) PT*x*xmain()int a=1,b=2; printf(“%4.1fn”,S(a+b); 3.5*a+b*a+bA、14.0B、31.5C、7.5D、10.5C 5.下面程序运行后输出的结果 )。#includestdio.h#define MIN(x,y) (x)(y)?(x):(y)main()int a,b,c;a=10,b=20;c=8*MIN(a,b);printf(%dn,c);A、10B、20C、80D、120A 6.下面程序运行后输出的结果是()。#includestdio.h#define MIN(x,y) (x)(y)?(x):(y)main() int a,b,c;a=10,b=20;c=8*MIN(a,b)-5;printf(%dn,c);A、75B、15C、20D、155C 7.下面程序运行后输出的结果是( )。#includestdio.h#define MIN(x,y) (x)(y)?(x):(y)main()int a,b,c;a=10,b=20;c=MIN(a+b,a-b)*8;printf(%dn,c);A、10B、20C、-80D、-10第十章1.若有以下定义和语句,且0i10,则对数组元素的错误引用是(C )。A、*(a+i)B、ap-aC、p+iD、pi2.若有以下定义和语句,且0i10,则对数组元素的正确引用是(D )。A、&(a+1)B、a+C、&pD、&pi3.以下程序的输出结果是(A )。char *alpha6=“ABCD”,”EFGH”,”IJKL”,”MNOP”,”QRST”,”UVWXYZ”;char *p;main()int k;p=alpha;for(k=0;k4;k+) printf(“%c”,*(pk);printf(“n”);A、AEIMB、BFJNC、ABCDD、DHLP4.下面程序的输出结果是(D )。#includemain()int a=1,2,3,4,5,6,*p; p=a; *(p+3)+=2; printf(“%d,%dn”, *p, *(p+3); A、0,5B、1,5C、0,6D、1,6D 5若由以下说明和语句,那么对C数组元素的正确引用是( )。int c45, (*cp)5; cp = c;A、cp+1B、(cp+3)C、*(cp+1)+3D、*(*cp+2)第十一章1.共享体变数中起作用的成员是(C )。 A、 第一次存放的成员;B、 中间存放的成员; C、 最后一次存放的成员;D、 所有的成员。2.若有以下程序段,则值为101的表达式是(C )。struct wc int a; int *b; *p; int x0=11,12,x1=31,32; struct wc x2=100,x0,300,x1; p=x;A、*p-bB、p-aC、+p-aD、(p+)-aD 3如果在C程序中有main( float argc, char *argv),那么类型定义错误的参数是( )。 A、argv B、argv C、argc,argv D、argcB 4若程序中由下面的说明和定义:struct stt int x; char b; struct stt a1, a2;则会发生的情况是( )。A、程序将顺利编译、连接、执行B、编译出错C、能顺利通过编译、连接,但不能执行D、能顺利通过编译,但连接出错C 5.下面程序的输出是( )。#includevoid main() unsigned int a=32,b=66; printf(“%cn”,a|b);A、66B、98C、bD、B第十二章1.下面程序的输出是(D )。#includemain()unsigned int a=3,b=10; printf(%dn,a1);A、1B、5C、12D、133.若int型是2个字节,下面程序运行后,输入331,则输出结果为(C )。#includevoid main()unsigned a,b,c,d;printf(enter %o a :);scanf(%o,&a);b=a4;c=(04);d=b&c;printf(%o, %dn, d, d);A、331,217B、13,15C、15,13D、217,3314.若int型是2个字节,下面程序段运行后,若输入:a=157653,n=3,则输出的值为(A )。main()unsigned a,b,c,d;int n;scanf(a=%o,n=%d,&a,&n);b=an;d=c|b;printf(%on,d);A、75765B、35765C、13765D、30000D 5.表达式11&10的结果用二进制表示为( )。A、11 B、3 C、1 D、10B 6表达式9|5 的结果十进制表示为( )。A、12 B、13 C、14D、15 第十三章1. C语言中,文件由(D )。A、记录组成B、由数据行组成C、由数据块组成D、由字符(字节)序列组成2. C语言中的文件类型只有(B )。A、索引文件和文本文件B、ASCII文件和二进制文件两种C、文本文件一种D、二进制文件一种3. C语言中档的存取方式(C )。A、只能顺序存取B、只能随机存取C、可以顺序存取,也可以随机存取D、只能从檔开头进行存取二、程序填空题第三章1.要使下面程序的输出形式为:12+10=22,-24+10=-14,请填空。#include void main()int a,b,c,d;unsigned u;a=12;b=-24;u=10;c=a+u;d=b+u;printf(【1】+【2】=%d,【3】+【4】=%dn,a,u,c, 【5】);选择答案:【1】%d【2】%d【3】%d【4】%d【5】b,u,d第四章2. 下面程序不借助任务中间变量把a,b的值进行交换。请填空。#includemain()int a,b; printf(“Input a,b:”); scanf(“%d,%d”, 【1】 &a,&b ); a+=【2】 b ;b=a- 【3】 b ;a- = 【4】 b ; printf(“a=%d,b=%dn”, 【5】 a,b );第五章3. 下面程序输入一个学生的生日(年:y0,月:m0,日:d0),并输入当前日期(年:y1,月:m1,日:d1)。求出该学生的实足年龄。请填空。#includemain()int age,y0,m0,d0,y1,m1,d1; printf(输入生日日期(年、月、日)); scanf(%d,%d,%d, 【1】 &y0,&m0,&d0 ); printf(输入当前日期(年、月、日)); scanf(%d,%d,%d, 【2】 &y1,&m1,&d1 ); age=y1-y0; if(m0 【3】 m1) age-; if (m0 【4】 = = m1)&( 【5】 d0 d1 ) age-; printf(age=%3dn,age);4. 下面程序输出乘法九九表。#include void main()int i,j; for(i=1;i【1】 10 ;i+) printf(%4d,i); printf(n-n); for(i=1;i【2】 10 ;i+) for(j=1;j10;j+) printf(j= =【3】 9 )?%4d【4】n :%4d,【5】i*j );第六章5. 下面程序从读入的整数据中,统计大于0的整数个数i和小于0的整数个数j,当输入0时,程序运行结束。请填空。#include【1】 int n,i,j;printf(“Input int numbers,with 0 to end:”);i=j=0;scanf (“%d”,&n);while (【2】 n!=0 )if (n0) i=【3】 i+1 ;if (n0) j=【4】 j+1 ;【5】 scanf (“%d”, &n) ;printf(“i=%d,j=%dn”,i,j );第七章1. 设数组a和数组b中分别有an和bn个有序数,程序把数组a和数组b按由小到大的顺序合并到数组c中。请填空。#includemain()int a10=1,2,5,8,9,10,an=5; int b10=1,3,4,8,12,18,bn=5; int i,j,k,c20,max=9999; /*在a,b数组的后面都放上一个max(大于数组中所有的数),作为结束标志*/ aan+1=bbn+1=【1】 max ; i=j=k=0; /*若ai,bj中有一个不等于max,则尚有数未合并到c数组中,循环继续进行*/ while(ai!=max)|(bj!=max)if(aibj) ck=【2】 ai ;k+; 【3】 i+ ;/*如果aibj,则应把ai放入ck中*/elseck=【4】 bj ;k+;【5】 j+ ;/*如果bjai,则应把bj放入ck中*/for(i=0;ik;i+) rintf(%4d,ci);printf(n);2. 从键盘输入一个3行4列矩阵的数据,然后求其最大数。请填空:main() int 【1】 i,j , max, a34; for(i=0;i3;i+) for(j=0;j4;j+) scanf(%d, 【2】 &aij ) ; 【3】 max=a00 ; for(i=0;i3;i+) for(j=0;j4;j+) if( maxaij ) max=【4】 aij ; printf(max=%dn,【5】 max );第八章3. 下面程序求出数组a中所有素数的和。请填空。#include#include 【1】 main()int isprime(int x); int i,a10,sum=0; printf (Input array a10:); for(i=0;i10;i+) scanf(%d,【2】 &ai) ; for(i=0;i10;i+)if(isprime( 【3】 ai )= =1) printf(%d ,ai); sum+=ai; printf(nThe sum=%dn,sum);int isprime(int x)int i,k; k=sqrt(x); for(i=2;i=2 &(i=k+1) return 【5】 1 ;else return 0 ;第十章4. 下面程序建立一个主次对角在线的元素为1,其余元素为0的5阶方阵并输出。请选择填空。#includemain()int a55=0,*p5,i,j;for(i=0;i5;i+) pi=【1】 &ai0 ; /*使指针数组p指向二维数组每行首地址*/ for(i=0;i5;i+)*(pi+【2】 i )=1;/*使主对角在线元素为1*/ *(pi+5-【3】 (i+1) )=1;/*使次对角在线元素为1*/ for(i=0;i5;i+) for(j=0;j5;j+)printf(%3d, 【4】 pij ); 【5】 printf(n) ; 1A、&ai0B、&ai1C、&piD、&a0i2A、0B、1C、iD、(i+1)3A、0B、1C、iD、(i+1)4A、aiiB、ajj C、piiD、pij5A、putchar(“n”);B、putchar(n);C、putchar(0);D、printf(“n);5. 下面程序交换a,b的值,请填空#include stdio.hvoid swap(int *p1,int *p2)int temp ; 【1】 temp =*p1;*p1=*p2;*p2=【2】 temp ;void main()int a,b;int *p_1,*p_2;printf(Enter a,b: );scanf(%d,%d,&a,&b);p_1=【3】 &a ; p_2=【4】 &b ;if(ab) 【5】 swap(p_1, p_2 ;printf(%d,%dn, *p_1 , *p-2 );6. 若一个字符串顺读和倒读都一样,则此字符串是“回文”,如LEVEL,下面程序判断输入的字符串是否是“回文”。请填空。#include#includemain()char s81,*pi,*pj;int n;gets(s);n=strlen(s);pi=【1】 s ;pj=【2】 s+n-1 ;/*pi指向串首,*pj指向串尾*/while(*pi= = ) 【3】 pi+ ; /*跳过字符串的前导空格*/while(*pj= = ) 【4】 pj- ; /*跳过字符串最后面的空格*/while(【5】 pipj )&(*pi= =*pj)pi+; pj-; /*比较两端的字符是否相等*/if(pipj) printf(Non);else printf(Yesn);第十三章7. 从键盘输入一些字符存贮到磁盘文件中,直到输入一个#为止。#include stdio.hmain()FILE *fp; char ch, filename10; scanf(%s, filename); if(fp=【1】 fopen (filename, 【2】 w )= =NULL) printf (cannot open filen ); exit(0); ch=【3】 getchar(fp) ; while(ch!=【4】 # ) fputc (ch, fp); ch=getchar(fp); 【5】 fclose(fp) ; 8. 从磁盘文件E:D.txt中顺序读入字符,并显示在屏幕上。#include void main() FILE 【1】 *fp ;char ch;fp=fopen(【2】E:D.txt ,r);ch=fgetc(fp);while(ch!=【3】EOF )putchar(ch);ch=【4】fgetc(fp) ;printf(n);【5】fclose(fp ) ;三、判断题第一章1. C语言可以直接访问物理位元元址。2. C语言既可以用来写系统软件,也可以用来写应用软件。3. C中的变量必须“先定义,后使用”,函数也不例外。4. 一个C源程序只能有一个main()函数。5. 一个C源程序可以由一个main()函数和若干个其它函数组成。6. C程序中和每一行就是一个语句。第三章7. min和id-s都是合法的标识符。8. 在某种意义上,char和int通用。9. 若a=2,b=-4;则执行a|b+ 后,b为-4。10. 在C程序中“%”是只能用于整数运算的运算符,而“/”是既可以用于整数运算又可以用于实数运算的运算符。11. 用户标识符中可以出现下划线和中划线(减号)。12. 在C中 变量不定义也可以使用。13. 表达式 a 和 “a” 是不同的,前者长度为1,后者长度为2。14. 自增自减运算符+,-可以用于int型、float型和double型资料。15. 在某种意义上,char和int通用。16. 自增运算符和自减运算符的结合方向也是“自左向右”。第四章17. 格式字符%md中的m只能为正,不能为负。第五章18. 在C的if语句中,用作判断的表达式只能是关系表达式或逻辑表达式。19. 若有int a,b; 则a=(b*bb)的值是1。20. 若a=2,b=-4; 则执行a|b+ 后,b为-3。21. 若a=7,b=5; 则执行a&b+ 后,b为6。22. 在C中能代表逻辑值“假”的是0。23. 若有int x,y,z; x=y=z=1;则执行+x&+y&+z后,x,y,z的值分别为2,1,1。第六章24. continue语句可用于switch语句,也可用于for、while和do循环语句中。25. break语句可用于switch语句,也可用于for、while和do循环语句中。第七章26. 数组类型不是C的基本数据类型,而是一种构造类型 。27. 数组名代表数组的起始地址。28. 若有int a10=1,2,3,4,5,6,7,8,9,10; a=a+1; 则这时a代表元素2的位元元址。第八章29. C程序中,当调用函数时,由实参把值传递给形参,调用结束后,再由形参把值传回给实参。30. 用数组名作为实参时,把实参数组的起始地址传递给形参数组,因此形参数组和实参数组占用同一段内存单元,改变形参数组的值,也就改变了实参数组的值。31. 若有static int a10; 则a数组的10个元素的值都是0。32. 全局变量的作用域一定比局部变量的作用域范围大。33. 函数的实参可以传递给形参,形参也可以传递给实参。第九章34. #define命令是在编译之前处理的。35. 一个包含命令include可以包含几个头檔。第十章36. 若定义char *str;则str=BOOK;是正确的。37. 若定义char str; 则str=yellow;是正确的。38. 数组名是指标常量,不需要也不能为其赋值;指针是变量,使用前需对其赋值。39. C中*&a是取变量a的地址。第十一章40. 可以用typedef声明各种类型名,但不能用它来定义变量。41. 结构类型变量所占内存长度等于成员的长度;而共享体类型变量所占用的内存长度是各成员的内存长度之和,每个成员分别占用其自己的内存单元。第十二章42. 有unsigned int a=16;a=a2;则a的值是4。43. 有unsigned int a=16;a=a2;则a的值是64。44. 一个无符号整数各数字往左移动2位后,一定是原数的4倍。第十三章45. C语言中,feof函数用来判断即将读入的是否是文件结束标志,它可用于二进制文件,但不能用于文本文件。46. C语言的文件存取方式只能是顺序存取,不能随机存取。47. C语言中rewind函数使位置指针回到文件的开头位置,而fseek函数使位置指针移到指定的位置。四、填空题1. Turboc2中,程序运行后,按下 alt+F5键可以看到运行结果。2. 做任何事情都有一定的步骤。为解决一个问题而采取的方法和步骤,就称为 算法 。3. 算法的特性中包含有 0或多个输入 输入和有一个或多个输出。4. C语言中,二维数组中的元素在内存中的排列优先级是:行优先。5. 若想对一个存储单元清零,只要找一个二进制数,其中各个位符合以下条件:原来的数中为1的位新数中相应的数为0。然后使二者进行运算,即可达到清零目。6. 连接(linker):将目标模块和其它一些必要的功能模块装配在一起,生成可执行档,执行程序文件后缀为 exe 。7. 具体说,采取以下方法来保证得到结构化的程序:自顶向下,逐步细化 ,模块化设计,结构化编码。8. 071052 = 19 。(071 052 是8进制数)9. 有一数01010100, 想把其中左面第3,4,5,7,8位保留下来,运算如下:01010100(84) & 00111011(59) = 00010000(16) 10. 写出数学表达式的C语言表达式。 sqrt(fabs(a)+b*c)/(a+b) 。第一章1.C程序总是从(主函数开始 )执行的,而不管其在程序的前面、中间或后面。2.一个C源程序可以由一个(main )函数和若干个其它函数组成。3.76U表示76是(无符号整数 ),而3F表示3是(浮点数 )。4.若a 的ASCII码是97,则字符D的ASCII码是(68 )。5.若int型是2个字节,unsigned a=65535,b;b=a+1;则按“%u”格式输出b的值为(0 )。6.将一个字符常量放到一个字符变量中去,实际上并不是把该字符本身放到内存单元中去,而是把该字符的(ASCII码 )放到存储单元中。7.C规定了各种运算符的结合方向,(自左至右 )的结合方向称为左结合性,(自右至左 )的结合方向称为右结合性。8.逗号表达式:表达式1,表达式2,的求解过程是:(先求解表达式1,再求解表达式2 ),整个表达式的值是(表达式2 )的值。第四章9. putchar(b+M-m)的值是(B )。10.对字符变量,可以用格式符(%c )按字符输出,也可用(%d )按整数输出。第五章1.对逻辑表达式a&b&c,只要a为(假 ),就不必判别b和c,如果a为(真 ), b为(假 ),就不必判别c 。第六章2.下面循环的执行次数是(4 )次。n=0;while(+n5) printf(%3dn,n); 第七章9.对字符数组,可以用格式符(%c )将字符逐个输入输出,用格式符(%s )将整个字符串一次输入输出。10.用语句scanf(“%s”,str); 输入字符串,(不能 )接收空格字符。11.用语句gets(str )输入字符串,(能够 )接收空格字符。12. C语言中,数组名代表数组的(起始地址 ),如果在scanf函数中的输入项是字符数组名,则(不能 )在数组名前加地址运算符&。13.函数strcat(str1,str2)的作用是(把字符串str2连接到字符串str1的后面 ),结果存放在字符数组(str1 )中。14. char str=”abc”,则strlen(str)的值是(3 ),sizeof(str)的值是(4 )。15. char str=”abc0def”,则strlen(str)的值是(3 ),sizeof(str)的值是(8 )。第八章16.调用函数时,才给形参(分配 )存储单元,调用结束后,形参单元被(释放 ),而实参单元仍保留原值。17.在C中调用函数前,对被调用的函数要作类型说明,但如果函数的类型是(整型 ), 则可以不加说明。第十章18.一个变量的(地址 )称为变量的指针,一个变量专门用来存放另一个变量的(地址 ),则称该变量为指针变量。19.若有char *a=”Computer”,则a中存放的是( 字符串的起始地址 )。第十一章20.有下面的定义:struct studentchar name8; char sex; int age; stu1, stu2;则,sex占(1 )个字节, stu1占(11 )个字节。第十二章21. C语言中,24的值是(6 )。第十三章22. feof函数可用于(二进制 )文件和(ASCII码 )檔,它用来判断即将读入的是否为文件(结束 )标志,若是,函数值为真。五、写出程序程序运行后的结果(每小题4分,共20分)1.写出下面程序输出的结果main()int n=0; while(n+=1) printf(%dt,n); printf(%dn,n);结果:1232.写出下面程序运行后的结果main()int i,s;s=0;for(i=1;i=10;i=i+2) s+=i;printf(s=%dn,s);结果:s=253.写出下面程序运行后的结果main()int a,b,i; a=1; b=0; for(i=1;i=5;i+) a*=i; b+=a; printf(a=%d,b=%dn,a,b);结果:a=120,b=153第七章4.写出下面程序运行后的结果:main()int i,j,t; static int a6=1,3,4,5,2,6; for(i=0, j=5; ij; i+, j-) t=ai; ai=aj; aj=t; for(i=0; i6; i+)printf(%2d, ai); printf(n);结果:6 2 5 4 3 15.写出下面
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!