C语言复习参考答案(考试用)1 联系客服

发布时间 : 星期六 文章C语言复习参考答案(考试用)1更新完毕开始阅读

程序设计语言C复习 12.以下关于for循环的正确描述是( D )。 A.for循环只能用于循环次数已确定的情况 B.for循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体

D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 13.下列程序段中是死循环的是( C )。

A.int n=1;while(!n)n++; B.int n=1;do { n--;}while(n); C.int n=1;do { n++;}while(n); D.for(n=5;n<1;); 14.以下能正确计算1╳2╳3╳?╳10的程序段是( C )。 A.do { k=1;n=1;n=n*k;k++;}while(k<=10); B.do { k=1;n=0;n=n*k;k++;}while(k<=10); C.k=1;n=1;do { n=n*k;k++;}while(k<=10); D.k=1;n=0;do { n=n*k;k++;}while(k<=10);

㈢.程序设计题:

1.编写程序,求1-3+5-7+?-99+101的值。 2.求1+2+3+?+100的值。

3.把100~200之间的不能被3整除的数输出。 4.求Fibonacci数列前40个数。 5.打印1000以内的所有素数。

6.书上P120页6.4、6.5、6.6、6.10、6.12、6.13

第七章 数组

一.知识点

1.数组的概念与定义 2.数组的初始化 3.数组元素的引用

4.字符数组的定义、使用、字符串处理函数 5.数组数据的一般处理方式

二.练习

㈠.填空题:

1.若有定义:double w[10];则w数组元素下标的上限是 9 ,下限是 0 。 2.以下程序的输出结果是 12 。

main()

{ int arr[10],i,k=0;

for(i=0;i<10;i++) arr[i]=i; for(i=0;i<4;i++) k+=arr[i]+i;

第 13 页 共 24 页

程序设计语言C复习 printf(“%d\\n”,k); }

3.以下程序的输出结果是 300,0,2 。

main()

{ int i,j,row,col,m;

int arr[3][3]={{100,200,300},{28,72,-30},{-850,2,6}}; m=arr[0][0];

for(i=0;i<3;i++)

for(j=0;j<3;j++) if(arr[i][j]

4.在C语言中,二维数组元素在内存中的存放顺序是 按行存放 。

5.若二维数组a有m列,则计算任一元素a[i][j]在数组中相对位置的公式为 i*m+j+1 。 6.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是 0 ,a[2][1]得到的初值是 6 。

7.若有说明char s[20];如果想从键盘上把字符串“This is a book.”输入到数组s中,应当调用的函数是 strcpy ;函数调用语句的形式是 strcpy(s, “This is a book.” 。 8.若有char str1[20]={“a good”},str[ ]={“ student”};能把str2中的字符串接到str1中的字符串后面的函数调用语句是 strcat(str1,str) 。

9.以下findmax函数返回数组s中最大元素的下标,数组中元素的个数由t传入,请填空。

findmax(int s[ ],int t) { int k,p;

for(p=0,k=p;ps[k]) p=k ; return p ; }

10.以下程序统计从终端输入的字符中每个大写字母的个数,num[0]中统计字母A的个数,其它依次类推。用#号结束输入,请填空。

#include “stdio.h” #include “ctype.h” main()

{ int num[26]={0},i; char c; while( c=getchar() !=‘#’) if(isupper(c)) num[ c-‘A’ ]+=1; for(i=0;i<26;i++) if(num[i]) printf(“%c: %d\\n”,i+‘A’,num[i]); }

㈡.选择题:

1.以下程序的输出结果是( A )。

A.不确定的值 B.3 C.2 D.1 main()

第 14 页 共 24 页

程序设计语言C复习 { int n[2]={0},i,j,k=2; for(i=0;i

for(j=0;j

2.以下对一维数组a的正确说明是( D )。 A.char a(10); B.int a[ ];

C.int k=5,a[k]; D.char a[ ]={‘a’,‘b’,‘c’}; 3.若有说明语句:int a[2][4];则对a数组元素的正确引用是( A )。 A.a[0][3] B.a[0][4] C.a[2][2] D.a[2][2+1] 4.以下能对二维数组y进行正确初始化的语句是( B )。 A.int y[2][ ]={{ 1,0,1 },{ 5,2,3 }}; B.int y[ ][3]={{1,2,3},{4,5,6}}; C.int y[2][4]={1,2,3},{4,5},{6};

D.int y[ ][3]={{1,0,1,0},{ },{1,1}};

5.若有说明语句:int y[ ][4]={0,0};则下面不正确的叙述是( D )。 A.数组y的每个元素都可以得到初值0;

B.二维数组y的行数为1; C.该说明等价于int y[ ][4]={0}; D.只有元素y[0][0]和y[0][1]可得到初值0,其余元素均得不到初值0;

6.若有说明语句:int a[ ][3]={1,2,3,4,5,6,7,8};则a数组的行数为( A )。 A.3 B.2 C.无确定值 D.1

7.若二维数组y有m列,则在y[i][j]前的元素个数为( B )。

A.j*m+i B.i*m+j C.i*m+j-1 D.i*m+j+1 8.若有以下语句,则正确的描述是( B )。 char x[ ]=“12345”;char y[ ]={‘1’,‘2’,‘3’,‘4’,‘5’}; A.x数组与y数组的长度相同 B.x数组长度大于y数组长度 C.x数组长度小于y数组长度 D.x数组等价于y数组 9.下面程序段的运行结果是( B )。 A.‘a’‘b’ B.ab C.ab c D.abc

char c[5]={‘a’,‘b’,‘\\0’,‘c’,‘\\0’};printf(“%s”,c); 10.有两个字符数组a、b,则以下能正确为a、b进行赋值的语句是( D )。 A.gets(a,b); B.scanf(“%s%s”,&a,&b); C.getchar(a);getchar(b); D.gets(a);gets(b);

11.有字符数组s1[80]和s2[80],则以下能正确对s1、s2进行输出的语句是( BD )。 A.puts(s1,s2); B.printf(“%s,%s\\n”,s1,s2); C.putchar(s1,s2); D.puts(s1),puts(s2); 12.下面描述正确的是( D )。

A.两个字符串所包含的字符个数相同时,才能比较字符串; B.字符个数多的字符串比字符个数少的字符串大

C.字符串“STOP ”与“STOP”相等 D.字符串“That”小于字符串“The”

第 15 页 共 24 页

程序设计语言C复习 13.以下对字符数组的描述中错误的是( C )。

A.字符数组中可以存放字符串 B.字符数组中的字符串可以整体输入、输出 C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D.不可以用关系运算符对字符数组中的字符串进行比较 14.语句printf(“%d\\n”,strlen(“school”));的输出结果是( B )。 A.7 B.6 C.存在语法错误 D.不定值 15.有语句char s1[10],s2[10]={“books”};则能将s2的值正确赋给s1的语句是( B )。 A.s1={“books”}; B.strcpy(s1,s2); C.s1=s2; D.strcpy(s2,s1);

㈢.程序设计题:

1.编写程序打印九九乘法表。

2.用随机函数产生20个100以内的整数,用选择法对它们排序。 3.用随机函数产生50个200以内的整数,用冒泡法对它们排序。 4.打印杨辉三角形的前10行。

5.有一篇文章,共有3行文字,每行有80个字符。要求统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。

6.输入一行数字字符,请用数组元素作为计数器来统计每个字符的个数。用下标为0的元素统计字符“1”的个数,下标为1的元素统计字符“2”的个数,依次类推。

第八章 函数

一.知识点

1.函数定义的一般形式:函数类型 函数名(形参类型 形参名,??) { 函数体 } 2.函数的参数:注意形参与实参在类型、个数上的一一对应关系。

3.函数值:函数的返回值,也就是函数类型,若函数无返回值,则为void; 4.函数的调用:注意调用的形式;

5.函数原型与对被调函数的声明,注意整型函数可以不用声明; 6.函数的嵌套调用:

7.函数的递归调用,要求能用递归编写求n!、1+2+??+n等问题的程序。 8.数组作为函数参数,注意其含义及使用的情况;

9.变量的存储类型,注意static类型的初值、值的变化,外部变量的使用等; 10.内部函数和外部函数:注意其区别。

二.练习

㈠.填空题:

1.以下程序的输出结果是 12 。

unsigned fun6(unsigned num) { unsigned k=1; do

第 16 页 共 24 页