C程实验习题答案
更新时间:2024-07-04 06:51:01 阅读量: 综合文库 文档下载
- 沿程损失实验推荐度:
- 相关推荐
第一章 C语言概述
问题与思考
1.若有源程序文件t1.c,编译后生成的目标文件名是_t1.obj_,连接后生成的文件
名是__t1.exe_,它们位于磁盘什么位置?
默认情况下是obj和源文件在同一目录下,exe在源文件目录下的debug目录下,可以在编译
环境中设置到其他地方。
2.程序1_3.c中输出的10!值是多少? 3628800
第2章 数据与数据类型
问题与思考
1.实验一的程序1中,语句a=1+1/2+1/3+1/4;执行后变量a的值是__1___。怎样修
改程序才能得到正确的结果?
将a=1+1/2+1/3+1/4改为a=1+1/2.0+1/3.0+1/4.0;
2.实验二中你用什么样的方式定义符号常量?还可以用什么方法定义符号常量?
可以通过Define宏定义和const常量定义两种方式定义符号常量 3.直接阅读实验四的程序,你认为三条输出结果是什么?程序运行得到的结果是什
么?能分析一下为什么是这样的结果?
4.实验五的程序运行时,如果输入数据10 20 40 ,运行时会出现什么结果?为什
么?息样避免这样的情况发生?
面积出现不可预估值,pow参数为负数,即两边之和不大于第三边,应在算面积
之前用if语句判断。
5.下面程序段执行后,问:变量a、b在内存中所占字节数分别为__4___、___4__,
其值分别为__20_、__40__。 int a=-6.56; float b; b=(a=4*5,a*2),a+6;
6.下列定义变量的语句中错误的是______。
A) int _int; B) double int_; C) char For; D) float US$; 7.若变量x、y已正确定义并赋值,下面符合C语言语法的表达式是__A___。
A) ++x,y=x-- B) x+1=y C) x=x+10=x+y D) double(x)/10 8.数字字符0的ASCII的值为48,下面程序运行后输出结果是______。
main()
{char a='1',b='2'; printf(\
printf(\\\n\ }
A) 3,2 B) 50,2 C) 2,2 D) 2,50 9.设有 int x=11; 则表达式 x++*1/3 的值是______。
A) 3 B) 4 C) 11 D) 12
第三章 程序控制结构
习题三
第一部分:输入与输出
1.已有如下定义和输入语句,若要求a,b,c1,c2的值分别为5、6、A和B,当从第一列开始输入数据时,正确的数据输入方式是 ______ (
int a,b; char c1,c2;
scanf(\
A) 5 A 6 B
A)输入项可以为一个实型常量,如scanf(“%f”,3.5);
B)只有格式控制,没有输入项,也能正确输入,如scanf(“a=%d,b=%d”);
C)当输入实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);
D)当输入数据时,必须指明地址,如scanf(“%f”,&f);
E)可以采用不同的格式符,实现对一个实型数据以八进制或十六进制形式输入/输出。
F)整型数据不能使用%f或%lf格式符。
3.若a是int型变量,则表达式(a=5*6,a*3),a+8的值是 _________ 。 4.若有定义:int b=7; float a=2.5,c=4.7; 则表达式 a+(int)(b/3*(int)(a+c)/2)%4的值为__5.5___。
5.输出长整型数据使用格式符___%ld____,输出无符号的整数用格式符__%u__ ,以指数形式输出单精实数用格式符__%e____。
6.下面程序运行时输入:10 11<回车>,输出__a=8,b=17________。
#include
scanf(\
printf(\
}
7.下面程序段执行时,怎样输入才能让a=10,b=20 ?____a=10,b=20______________
int a,b;
scanf(\
8.若a和b均为int变量,以下语句的功能是____交换a和b的值_________。
a+=b;b=a-b;a-=b;
9.在scanf函数调用中,可以在格式字符和%之间加一星号*,它的作用是___本输入项
在读入后不赋给相应的变量_____。
10.a++、++a、a=a+1都能实现使变量a的值增1,与之等效的表达式还有__ a+=1________
第二部分:分支结构
1.若执行下面的程序时从键盘上输入5,则输出结果是______ main() {int x;
scanf(\,&x);
if(x++>5)printf(\\\n\,x); else printf(\\\n\,x--); }
A) 7 B) 6 C) 5 D) 4
2.已知a,b,m,n,c,d变量的定义如下,则执行完下列表达式后m,n的值为______
int a=3,b=4,m=0,n=0,c=3,d=4; (m=a
A) m=1 n=1 B) m=1 n=0 C) m=0 n=0 D) m=0 n=1 3.表达式(!7<5+1>0+4<5)的值是______
A) 3 B) 2 C) 1 D) 0
4.假设在程序中,x,y,z均被定义成整型,且已赋大于1的值, 则下列能正确表示1/(xyz)的表达式是______
A) 1/x*y*z B)1/(x*y*z) C) 1/x/y/(float)z D) 1.0/x/y/z 5.已知字母a的ASCII十进制代码为97,则执行以下语句后的输出为______
char a='a';a--;
printf(\\\n\-'0');
A) b,c B) a--运算不合法,故有语法错 C) 98,c D) 格式描述和输出项不匹配,输出无定值
6.为了避免嵌套的条件语句if-else的二义性,C语言规定:else与_____配对。 A) 缩排位置相同的if B) 其之前最近的if C) 其之后最近的if D) 同一行上的if
7.若给定条件表达式(M)?(a++): (a--),则其中表达式M______
A) 和(M==0)等价 B) 和(M==1)等价 C) 和(M!=0)等价 D) 和(M!=1)等价 8.若有说明语句char s='\\092'; 则该语句______
A) 使s的值包含1个字符 B) 说明不合法,s的值不确定 C) 使s的值包含4个字符 D) 使s的值包含3个字符
9.设a=1,b=2,c=3,d=4,则表达式:a
unsigned long w=5; double x=1.42,y=5.2;
则以下符合C语言语法的表达式是______
A) a+=a-=(b=4)*(a=3) B) x%(-3) C)a=a*3=2 D) y=float(i) 11.有以下变量定义: int k=7,x=12;
则下列值为3的表达式是______ A) x%=(k%=5) B) x%=(k-k%5) C) x%=k-k%5 D) (x%=k)-(k%=5)
12.设 int a=3 ; 则表达式 a<1&& - - a>1 的运算结果和a的值分别是______ A) 0和2 B) 0和3 C) 1和2 D) 1和3 13.假定所有变量均已正确定义,下列程序段运行后x的值是______ ok1=1;ok2=2;ok3=3;x=15; if(!ok1) x--;
else if(ok2) if(ok3) x=3; else x=4;
A) 14 B) 4 C) 15 D) 3 14.下面程序的输出结果是______ void main()
{int x=1,a=0,b=0; switch(x)
{ case 0 :b++; case 1 :a++;
case 2 :a++;b++; }
printf(“a=%d,b=%d\\n”,a,b); }
A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2
15. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果分别是_____ void main( )
{ int x;
scanf(\
if(x++>5)printf(\ else printf(\\\n\ }
A) 7和5 B) 6和3 C) 7和4 D) 6和4 16.有定义:int a=1,b=3,c=5,d=4,x; 则执行完下面一段程序后x的值是 ______。
if(a
if(c if(a if( b A) 1 B) 2 C) 3 D) 6 17.能正确表示a和b同时为正或同时为负的表达式是________。 A) (a>=0||b>=0)&&(a<0||b<0) B) (a>=0&&b>=0)&&(a<0&&b<0) C) (a+b>0)&&(a+b<=0) D) a*b>0 18.当a=3,b=2,c=1时,表达式f=a>b>c的值是 __0____ 。 19.当c的值不为0 时,在下列选项中能正确将c的值赋给变量a、b的是________。 A) c=b=a B) (a=c)||(b=c) C) (a=c)&&(b=c) D) a=c=b 20.下面程序程序后输出结果是_____。 void main() {int a=3,b=2,c=1,t; if(a>b>c) t=1; else if(a else t=-1; printf(\} A) 1 B) 0 C) -1 D) 不确定的数 21. 以下程序运行后的输出结果是__3 5 3______。 void main() {int a=3,b=4,c=5,t=99; if(ac,c>b) t=b;b=a;a=t; printf(\\\n\ } 22. 以下程序运行后的输出结果是___2 1_______。 void 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; } printf(\ %d\\n\ } 23.有以下程序 void main( ) { int i=1,j=1,k=2; if((j++||k++)&&i++) printf( \执行后输出结果是_____。 A) 1,1,2 B) 2,2,1 C) 2,2,2 D) 224.以下程序执行后输出结果是_____。 void main( ) { int a=3,b=4,c=5,d=2; if(a>b) if(b>c) printf(\); else printf(\); printf(\} A) 2 B) 3 C) 43 D) 44 25.以下程序执行后输的结果是____-4____ 。 main( ) { int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf(\} ,2,3 第三部分:循环控制 1.对下面程序段描述正确的是__________。 int k=10; while(k=0) k=k-1; A) while循环执行10次 B) 循环是无限循环 C) 循环体语句一次也不执行 D) 循环体语句执行一次 2.语句while(!E);中的表达式!E等价于________. A) E==0 B) E!=1 C) E!=0 D) E==1 3.下面程序段的运行结果是__________. int n=0; while(n++<=2); printf(\ A) 2 B) 3 C) 4 D) 有语法错 4.下面程序的运行结果是___________. #include {int num=0; while(num<=2) {num++; printf(\\\n\ } } A)1 B)1 C) 1 D) 1 2 2 2 3 3 4 5.以下程序段________. x=-1; do{ x=x*x; }while(!x); A) 是死循环 B) 循环执行二次 C) 循环执行一次 D) 有语法错误 6.如下程序段 _________. int x=3; do{printf(\\\n\ }while(!(--x)); A) 输出的是1 B) 输出的是1和-2 C) 输出的是3和0 D) 是死循环 7.下面程序的运行结果是______. #include {int y=10; do{y--;}while(--y); printf(\\\n\ } A) -1 B) 1 C) 8 D) 0 8.若i为整型变量,则以下循环执行次数是_____. for(i=2;i==0;)printf(\--); A) 无限次 B) 0次 C) 1次 D) 2次 9.执行语句for(i=1;i++<4; ); 后变量i的值是______. A) 3 B) 4 C) 5 D) 不定 10.以下正确的描述是_______. A) continue语句的作用是结束整个循环的执行 B) 只能在循环体内和switch语句体内使用break语句 C) 在循环体内使用break语句或continue语句的作用相同 D) 从多层循环嵌套中退出时,只能使用goto语句 11. 运行下面程序时,从键盘输入20357 #include 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; } putchar('\\n'); } 12.下面程序段是从键盘输入的字符串中统计数字字符的个数,用换行符结束循环。请填空。 int n=0,c; c=getchar(); while(__c!='\\n'_____) {if(__c>='0'&&c<='9'______)n++; c=getchar(); } 13.下面程序的功能是用\辗转相除法\求两个正整数的最大公约数。请填空。 #include {int r,m,n; scanf(\ if(m {m=n;n=r;r=__ m%n____; } printf(\\\n\ } 14.下面程序的运行结果是___s=254______. #include {int a,s,n,count; a=2;s=0;n=1;count=1; while(count<=7){n=n*a;s=s+n;++count;} printf(\ } 15.下面程序段的运行结果是__a=-5_______. i=1;a=0;s=1; do{a=a+s*i;s=-s;i++; }while(i<=10); printf(\ 16.下面程序段的运行结果是___8____. i=1;s=3; do{s+=i++; if(s%7==0)continue; else ++i; }while(s<15); printf(\ 17.下面程序用于打印出所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。完成程序。 main( ) {int i,a,b,c; for(i=100;i<1000;i++ ) {a = i/100; b =_i/10__________; c = i; if(__i==a*a*a+b*b*b+c*c*c_________) printf( \ \ } } 第4章 构造数据类型 第一部分 数组习题 1. 定义如下变量和数组 : int k ; int a[3][3]={ 1, 2, 3, 4, 5, 6, 7, 8, 9 } ; 则下面语句的输出结果是( ) for(k=0;k<3;k++) printf("%d",a[k][2-k]); A、357 B、369 C、 159 D、 147 2. 执行下面的程序段后,变量k中的值为( ) int k=3,s[2]; s[0]=k;k=s[1]*10; A、不定值 B、33 C、30 D、10 3. 设有数组定义:char array [ ]=\; 则数组 array所占的空间为( A、4个字节 B、5个字节 C、6个字节 D、7个字节4. 如下程序的输出结果是( ) void main( ) { int n[5]={0,0,0},i,k=2; for(i=0;i A、不确定的值 B、2 C、1 D、0 5. 有如下程序 void main( ) { int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf(\} 该程序的输出结果是( ) A、18 B、19 C、20 D、21 6. 以下程序的输出结果是( ) void main( ) { int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf(\,\ ) } A、1,5,9, B、1,4,7, C、3,5,7, D、3,6,9, 7. 当执行下面的程序时,如果输入ABC,则输出结果是( ) #include \#include \void main( ) { char ss[10]=\,2,3,4,5\gets(ss); strcat(ss,\; printf(\} A、ABC6789 B、ABC67 C、12345ABC6 D、ABC456789 8.以下程序段的输出结果是( ) char s[ ]= \printf(\; A、9 B、12 C、13 D、14 9. 下面是对s的初始化,其中不正确的是( ) A、char s[5]={“abc” }; B、char s[5]={‘a’,’b’,’c’}; C、char s[5]=“”; D、char s[5]=”abcde” 10. 以下程序的输出结果是____ abc________________ void main( ) {char s[ ]=\ s[3]= '\\0'; printf(\,s); } 11. 下列程序段的输出结果是___ Hello__________ void main( ) { char b[]=\; b[5]=0; printf(\\\n\} 12. 在C语言中,二维数组元素在内存中的存放顺序是___行优先__________ 13. 设有定义语句 “ int a[3][4]={{1},{2},{3}} ” ,则a[1][1]值为_______0______, a[2][1]的值为____0_________ 14. 若在程序中用到 “ putchar() ” 函数时,应在程序开头写上包含命令#include void main() { int k,p; int s[]={1,-9,7,2,-10,3}; for(p=0,k=p;p<6;p++) if (s[p]>s[k]) __k=p___________ ; printf(\\\n\ } 16. 以下程序执行时输入Language Programming #include { char str[30]; scanf(\ printf(\\\n\ 17. 以下程序可把输入的十进制长整型数以十六进制数的形式输出,请填空。 void main() { char b[17]={\ int c[64],d,i=0,base=16; long n; printf(\\\n\ scanf(\ do{c[i]= __ n % 16________; i++; n=n/base; }while(n!=0); printf(\\\n\ for (--i;i>=0;--i) {d=c[i]; printf(\[ ______ i______ ]; } } 18. 以下数组定义中,错误的是( C ) A、 int a[]={1,2,3}; B、 int a[5]={1,2,3}; C、 int a[3]={1,2,3,4}; D、 int a[5],b; 19.以下数组定义中,正确的是( B ) A、 int n=4,a[n]={1,2,3,4}; B、 int a[][2]={1,2,3,4}; C、 int a[2][]={1,2,3,4}; D、 int a[][]={{1,2},{3,4}}; 20.设有如下定义:int a[8][10];在C中一个整数占用4字节,设a的起始地址为1000,则a[1][1]的地址是( ) A、 1000 B、 1004 C、 1036 D、 1044 21. 有数组定义:int a[ ][3]={1,2,3,4,5,6,7,8,9},则a[1][2]的值是( ) A、 2 B、 5 C、 6 D、 8 22.设已定义 char str[6]={'a','b','\\0','c','d','\\0'}; 执行语句 printf((\r) 后,输出结果为( ) A、 a B、 ab C、 abcd D、 ab\\0cd\\0 23.引用数组元素时,数组元素下标不可以是( ) A、 字符常量 B、 整型变量 C、 字符串 D、 算术表达式 24.下面程序段的运行结果是( ) void main() {char a[]=\ strcpy(a,b); printf(\} A、 123 B、 123d C、 abcd D、 abcd123 25.下面程序段的运行结果是( ) void main() {char a[]=\ if(a>b) printf(\\\n\else printf(\} A、 123 B、 编译时出错 C、 abcd D、 第二部分 结构体习题 1. 下面程序的运行结果是___________. void main() { struct cmplx{int x; int y; }cnum[2]={1,3,2,7}; printf(\} a)0 b)1 c)3 d)6 2. 以下程序的运行结果是__10,x______. struct n { int x; char c; }; void main() {struct n a={10,'x'}; func(a); printf(\ } func(struct n b) { b.x=20; b.c='y'; } 3. 根据下面的定义,能打出字母M的语句是 。运行时出错 struct person { char name[9]; int age; } struct person class[10]={ 〞John〞,17, 〞Paul〞,19, 〞Mary〞,18, 〞Adam〞,16}; A.printf(〞%c\\n〞,class[3].name); B.printf(〞%c\\n〞,class[3].name[1]); C.printf(〞%c\\n〞,class[2].name[1]); D.printf(〞%c\\n〞,class[2].name[0]; 第五章 指针类型数据 习题 一、选择题 1. 变量的指针,其含义是指该变量的________. a)值 b)地址 c)名 d)一个标志 2. 若有说明;int *p,m=5,n;以下正确的程序段的是________. a)p=&n; b)p=&n; scanf(\ c)scanf(\d)p=&n; *p=n; *p=m; 3. 若有以下定义,则对a数组元素的正确引用是_________. int a[5],*p=a; a) *&a[5] b) a+2 c) *(p+5) d) *(a+2) 4. 若有定义:int a[2][3],则对a数组的第i行j列元素地址的正确引用为______. a) *(a[i]+j) b) (a+i) c) *(a+j) d) a[i]+j 5. 下面程序段的运行结果是_________. char *s=\ s+=2;printf(\ a)cde b)字符'c' c)字符'c'的地址 d)无确定的输出结果 6. 以下正确的程序段是_________. a)char str[20]; b)char *p; scanf(\ c)char str[20]; d)char str[20],*p=str; scanf(\ 7. 若有说明语句 char a[]=\ char *p=\ 则以下不正确的叙述是________. a)a+1表示的是字符t的地址 b)p指向另外的字符串时,字符串的长度不受限制 c)p变量中存放的地址值可以改变 d)a中只能存放10个字符 8. 下面程序的运行结果是_______. #include char *s1=\ char *s2=\ s1+=2;s2+=2; printf(\ } a)正数 b)负数 c)零 d)不确定的值 9. 已知说明语句int (*p)[ ];,则下列叙述正确的是:______。 A) p是一个指针变量,它指向一个整型一维数组 B) p是一个指针变量,它指向一个整型数据 C) p是一个指针数组 D) 以上都不对 10. 已知有声明语句char s1[10]= "abcde",s3[10];以下语句中能将s1中存储的字符串和s2中存储的字符串正确交换的是:______。 A)s3=s1,s1=s2,s2=s3; B)s3[0]=s1[0],s1[0]=s2[0],s2[0]=3[0]; C)strcpy(s3[0],s1[0]),strcpy(s1[0],s2[0]),strcpy(s2[0],s3[0]); D)strcpy(s3,s1),strcpy(s1,s2),strcpy(s2,s3); 11. 设int b[ ]={1,2,3,4},y,*p=b; 则执行语句y=*p++;之后,变量y的值为( ) A)1 B)2 C)3 D)4 二、填空题: 1. 以下程序的功能是:通过指针操作,找出三个整数中的最小值并输出。 请填空。 #include \ main() {int *a,*b,*c,num,x,y,z; a=&x;b=&y;c=&z; printf(\输入3个整数:\ scanf(\ printf(\ num=*a; if(*a>*b)__num=*b____; if(num>*c)_num=*c____; printf(\输出最小整数:%d\\n\ } 2. 下面程序段的运行结果是__hELLO!______. char s[80],*sp=\ sp=strcpy(s,sp); s[0]='h'; puts(sp); 3. 下面程序段的运行结果是___ef_____. char str[]=\ printf(\若有定义:int a[]={2,4,6,8,10,12},*p=a;则*(p+1)的值是__4____. *(a+5)的值是____12_____. 4. 若有以下定义:int a[2][3]={2,4,6,8,10,12};则a[1][0]的值是__8___. *(*(a+1)+0))的值是____8____. 5. 以下程序将数组a中的数据按逆序存放,请填空。 #define M 8 void main() {int a[M],i,j,t; for(i=0;i t=*(a+i);_*(a+i)=*(a+j)_______;*(__a+j_____)=t; i++;j--; } for(i=0;i 6. 若有定义:int a[3][5],i,j;(且0<=i<3,0<=j<5),则a数组中任一元素可用 五种形式引用。它们是: (1)a[i][j] (2)*(a[i]+j) (3)*(*(a+i)+j); (4)(*(a+i))[j] (5)*(__*a__+5*i+j) 7. 下面程序的运行结果是_Coble dBase C language Pascal________. void main() {char *a[]={\ char (**p)[]; int j; p=a+3; for(j=3;j>=0;j--)printf(\ } 8. char (*pa)[10];则pa的类型是:__数组指针_ ___。 9. 设int a[10],b[3][3];数组元素a[5]和b[1][2]分别用指针表示的形式是____*(a+5)_________和_____*(*(b+1)+2)________。 第6章 函数 习题 1. 有如下程序 #include {if(n>2) return(fib(n-1)+fib(n-2)); else return(2); } void main( ) { printf(\,fib(3));} 该程序的输出结果是( ) A、2 B、 4 C、 6 2. 在C语言中,函数的隐含存储类别是( ) A、 auto B、 static C、 extern 3. 以下所列的各函数首部中,正确的是( ) A、 void play(var:Integer,var b:Integer) B、 void play(int a,b) C、 void play(int a,int b) D、 Sub play(a as integer,b as integer) 4. 以下程序的输出结果是( ) A、 0 B、 29 C、 31 fun(int x,int y,int z) { z=x*x+y*y;} main( ) { int a=31; fun(5,2,a); printf(\,a); } 5. 以下程序的输出结果是( ) f(int b[ ],int m,int n) {int I,s=0; for(i=m;i main( ) {int x,a[ ]={1,2,3,4,5,6,7,8, x=f(a,3,7); D、8 D、 无存储类别 D、 无定值 9}; printf(\ } A、10 B、18 C、8 D、15 6. 以下程序的输出结果是( ) A、1 B、2 C、3 D、4 long fun( int n) { long s; if(n==1 || n==2) s=2; else s=n-fun(n-1); return s;} main( ) { printf(\\\n\; } 7. 以下程序的输出结果是( ) int f( ) { static int i=0; int s=1; s+=i;i++; return s; } main( ) { int i,a=0; for(i=0;i<5;i++) a+=f(); printf(\,a); } A、20 B、24 C、25 D、15 8. 以下程序的功能是调用函数fun计算:m=1-2+3-4+?+9-10,并输出结果。请填空。 int fun( int n) { int m=0,f=1,i; for(i=1; i<=n; i++) { m+=i*f; f= __-f___________ ; } return m; } main() { printf(\f(10)______ ); } 9. 以下程序输出的最后一个值是______120_______ int ff(int n) { static int f=l; f=f*n; return f; } main( ) { int i; for(i=1;i<=5;i++ ) printf(\\\n\,ff(i)); } 10. 以下函数的功能是:求x的y次方,请填空。 double fun( double x,int y) { int i; double z; for(i=1, z=x; i 11. 以下正确的说法是( ) A、用户若需要调用标准库函数,调用前必须重新定义 B 、用户可以重新定义标准库函数,如若此,该函数将失去原有定义 C 、系统不允许用户重新定义标准库函数 D 、用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用。 12. C 语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是( ) A、地址传递 B 、值传递 C 、有实参传给形参,再由形参传给实参 D 、由用户指定传递方式 13. 下面程序的输出是( ) int i=2 ; printf(“%d%d%d”,i*=2,++i,i++) ; A、 8 , 4 , 2 B 、 8 , 4 , 3 C、 4 , 4 , 5 D 、 4 , 5 , 6 14. 以下不正确的说法是( ) A 、 register 变量可以提高变量使用的执行效率 B 、 register 变量由于使用的是 CPU 的寄存器,其数目是有限制的 C 、 extern 变量定义的存储空间按变量类型分配 D 、全局变量使得函数之间的 “ 耦合性 ” 更加紧密,不利于模块化的要求 15. C 语言函数返回类型的默认定义类型是___int_________ 16. 函数的实参传递到形参有两种方式:_____传值_______ 和_____传址______ 。 17. C 语言变量按其作用域分为____全局变量________和___局部变量_________ 。按其生存期分为____静态________和___动态________ 。 18. 已知函数定义 : { ?? }, 其函数声明的两种写法为__ void dothat(int n,double x);__________ , _____ void dothat(int ,double );_______ 。 19. C 语言变量的存储类别有____auto________ ,_____static_______ ,____register________ 和______extern______ 。 20. 在一个 C 程序中,若要定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量需要定义的存储类别为 ____extern________。 18. 已知函数定义 : { ?? }, 其函数声明的两种写法为__ void dothat(int n,double x);__________ , _____ void dothat(int ,double );_______ 。 19. C 语言变量的存储类别有____auto________ ,_____static_______ ,____register________ 和______extern______ 。 20. 在一个 C 程序中,若要定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量需要定义的存储类别为 ____extern________。
正在阅读:
C程实验习题答案07-04
气体检测仪培训资料-山盾科技05-16
《可亲可敬的家乡人》教学设计05-03
夏作文350字06-17
快乐的夏令营作文300字03-11
第十一章 电气安全与登高作业及防火知识08-24
我国转基因食品市场准入和召回研究08-18
青少年一定要读的亲情感恩故事 - 月饼带去我的思念和爱11-28
2016年北京市昌平区高考数学二模试卷带答案解析(文科)12-10
6S70MC主机的日常管理04-28
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 习题
- 答案
- 实验
- 大悟县安康小区公租房(三期)建设项目可行性研究报告
- 排课系统数据流图
- 临床输血学多选题集与题解
- 新疆版小学四年级下册综合实践活动教案
- 河南省扶沟县包屯高级中学2016届高三语文上学期第二次段考(期中)
- 分析化学实验 教案
- 2017年创建文明城市工作总结(社区)
- 资阳市公安局“大走访”开门评警活动总结
- 杭州2013高考命题比赛参赛试题高中历史21
- 人教版二年级数学上册《认识时间》学案
- 《教育心理学》分章强化题三:第三章学习的基本理论
- 七年级课外习题(内含材料作文训练;西游记、朝花夕拾文学常识)
- 小学语文教师教学随笔
- 苏教版小学六年级语文上册教案
- 住宅小区1#给排水检验批 2
- 高考数学11.3随机变量及其分布
- GB-50057-2010建筑物防雷设计规范 - 图文
- 砖混结构施工组织设计
- 石阡县青阳乡集镇民族新街建设建议书
- 山东省武城县四年级英语下学期期末试题2外研版(三起)