电大 7月 c语言 考试复习_大一c语言考试复习

其他范文 时间:2020-02-27 23:20:55 收藏本文下载本文
【www.daodoc.com - 其他范文】

电大 7月 c语言 考试复习由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“大一c语言考试复习”。

一、单选题(每小题2 分,共20 分)

1.程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用(D)符号作为 分隔符。

A.空格或逗号 c.逗号或分号 B.逗号或回车D.空格或回车

2.逻辑表达式(x>O && x

A.xlOc.xlOD.x>O && x>lO

3.当处理一个问题时的循环次数已知时,最好采用(A)语句来解决。

A.for B.whilec.do-while D.switch

4.假定i 的初值为0,则在循环语句“while(i

A.n-1c.n+1B.nD.n/2

5.假定一个二维数组的定义语句为”int a[3][4]={{3,4,{2,8,6}} 户,则元素a[l][l] 的值为(D)。

A.2C.6B.4D.8

6.在下列选项中,不正确的画数原型格式为(C)。

A.int FunctionCint a);B.void Function(char);

c.int Function(a 祷b);D.void int(double 赞a);

7.假定p 是一个指向float 类型的数据指针,则p+1 所指向的数据的地址比p 所指向的 数据的地址大(C)个字节。

A.1 B.2C4D8

8.假定有一条定义语句为“int m=7,铸p 户,则给p 赋值的正确表达式为(B)。

A.p=m B.p=&.mc.铸p=&.m D.p= 铃m

9.假定指针变量p 定义为”int 祷p=malloc(sizeof(i nt));“,要释放p 所指向的动态存储 空间,应调用的函数为(A)。

A.free(p)c.free(祷p)B.delete(p)D.free(&'p)

10.C 语言中的系统函数fopenO 是(D)一个数据文件的函数。

A.读取c.关闭B.写入D.打开

1.C语言源程序文件的缺省扩展名为(D)。

A.cppB.exeC.objD.c

2.设x 和y 均为逻辑值,则x &.&.y 为真的条件是(A)。

A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假

3.在下列的符号常量定义中,正确的定义格式为(C)。

A.# define MlC.# define M3 10B.canst int M2 20D.canst char mark

4.for 循环语句能够被改写为(D)语句。

A.复合B.ifC.switch D.while

5.在下面的一维数组定义中,错误的定义格式为(C)。

A.int a[J === {l ,2, 3};C.int a[J;B.int a[lOJ==={O};D.int a[5J;

6.若有一个函数原型为“double * function()”,则其返回值类型为(B)。

A.实数型B.实数指针型C.函数指针型D.数组型

7.在C语言中,所有预处理命令都是以(B)符号开头的。

A., B.#C.衣U.@

8.假定整数指针p所指数据单元的值为30, p+ 1 所指数据单元的值为40,则执行 ,p++后,p所指数据单元的值为(A)。

A 40 B.30C.70 D.10

9.若要使p指向二维整型数组a[10][20],则p的类型为(D)。

A.mnt *B.m nt * *C.mnt*[20二D.mnt

(二)[20 〕

10.表示文件结束符的符号常量为(C)。

A.eof B.EofC.EOF U.feof由C语言目标文件连接而成的可执行文件的缺省扩展名为(B

A cppB exeC objD c

2.设有两条语句为“mt a~3;a 十二a * a;“,则执行结束后,a的值为(A

A 12B 18C 15D 27

3.带有随机函数调用的表达式rand()%2o 的值在(C)区间内。

A.1~19B 1~20C.0-49D.0-20

4.在for循环语句“for(i~0;i

A.nB.n+1C.n 一1D.n 一2

5.在下列的字符数组定义中,存在语法错误的是(D

A.char a[20] 二“abcdefg”;C.char a[15]={'1','2')

B.char a[]=“x+y 一55.”;D.char a[10]='5'

6.在下面的画数原型声明中,存在语法错误的是(C)

A.int AA(int a ,int b);C.int AA(int a;int b;);

B.int AA(i时,int);D.int AA(int a.int);

7.假定a 为一个数组名,则下面存在错误的表达式为(B).A.a[i]C.*aB.*a+ +D.*(a+ l)

8.假定有定义为“int a [IO].x,警pa=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的赋值为(D).A.x=pa[3] B.x= *(a+3)C.x=a[3] D.x= *pa+3

9.字符串“y = % d n”的长度为(A

A.5C.4B.6D.3

10.向一个二进制文件中写人信息的画数为(D)。

A.fgetsO B.fputsOC.freadO D.fwriteO

二、填空题(每小题2 分,共26 分)

11.C 语言中的每条简单语句以;作为结束符。

12.C 程序中的所有预处理命令均以 #字符开头void

14.十进制数25 表示成符合C 语言规则的十六进制数为 0x19

15.关系表达式a>b 的相反式为 a

16.执行“typedef int DataType;”语句后,DataType 与int 保留字具有相同作用。

17.假定一维数组的定义为“ char 祷a[8J 户,则该数组所占用的存储空间的字节数为32

18.假定二维数组的定义为”double a[MJ[NJ 户,则所有元素的列下标的取值范围在0~N-1

19.存储一个空字符串需要占用1个字节。

2:0.strcpy 函数用于把一个字符串拷贝到另一个字符数组空间中。

2: 1.程序中的每个编译单位是一个程序文件

2:2.假定a 是一个一维数组,则a[iJ 的指针访问方式为*(a +i)

2:3.执行int 叩= malloc(sizeof(i nt))操作得到的一个动态分配的整型对象为 *P。

11.用于输出表达式值的标准输出函数的函数名是 printf

12.C 语言中的每个程序文件在编译时可能出现有error 类型的错误,它属于(致命性/警告性)致命性

13.已知’A z’的ASCII码为65-90,当执行“tnt x二'C'+3;”语句后x的值为70 14 表达式(int)14.6 的值为 14假定不允许使用逻辑非操作符,则关系表达式x + y> 5 的相反表达式为x+y

假定一维数组的定义为“char 二a [ M 〕;“,则该数组所占存储空间的字节数为 4*M

18.存储字符串”犷需要至少占用存储空间中的_2

19.strlen()函数用于计算一个字符串的 长度在C语言中,一个函数定义由函数头和 函数体 这两个部分组成。

21假定p所指对象的值为25,p 十I所指对象的值为 46,则执行表达式*(p++)后,p所指对象的值为 46

22.假定p是一个变量,则该变量的地址表示为 &p。

23.把间接访问表达式p->narne 改写成对应的直接访问表达式为('p).name

11.一个画数定义由 函数头 和函数体两部分组成。

12.执行”p:r;intf(“%c飞'F' 一2)产语句后得到的输出结果为 D

13.int 数据类型的长度为 4

14.表达式25/4 的值为 6

15.若x=5,y=10,则执行”if(x

16.保留字case 和default 出现在(if/switch/for/while)语句中.switch

17.在画数调用中执行到return数的执行过程,返回到调用该画数的原来位置。return

18.假定二维数组的定义为“char arM][N] 户,则该数组共包含有个字符元素。M * N

19.存储字符' a ' 需要占用存储器的个字节空间。1

20.若一个字符串的长度为n,则存储它的字符数组的长度至少为 n+11.假定p 所指对象的值为25,p+1 所指对象的值为46,则执行表达式(铃p)十+ 后,p所指对象的值为 26

22.假定p 是一个指向整数对象的指针,则用表示该整数对象。*P

23.假定一个结构类型的定义为”struct B{int a[5];char b;} 户,则该类型的理论长度为 24

三、写出下到每个程序运行后的输出结果{每小题6 分,共30 分)

24.# includevoid main(){int i, s=O;for(i=l;s

25.# includevoid main(){int a[9J={36 , 25 , 48 , 24 , 55 , 40 , 18 , 66 , 20};int i=O , k=-l , x=40;while(a[iJ!=x && i

输出结果: k=5

26.# includevoid SB(char ch){switch(ch){case 'A': case'a':print f('1');break;case 'B' : case'b':printf(“2”);break;default ,print f(“3”);break;void main(){char al = , a' ,a2 = 'B' ,a3 =f';SB(al);SB(a2);SB(a3);printf(“n”);

输出结果:123

27.# include# defjne M 6void main()int i ,xl=0 ,x2=0;int a[MJ={10 ,15 ,22 ,24 ,12 ,30};for(i=O;i

输出结果:4766

28.:# includestruct Worker {char name[15];int 吨的float pay;};void main(){ struct Worker x= {“wanghua” ,48 ,2500};struct W orker y,*p;y=x;p=&.x;

piintf(“%d %7.2f n” , y.age+p 一>age,p 一>pay+60);

输出结果: 962560.00

24.#includevoid rnain()mnt x=5switch(2,x一1){case :printf(“%d”,x);break;case;printf(“%d',2*x);break;case :printf(”% d“,3!x);break;default

:pprirnintft(f”(%“%s,s, ,I ,default”);

输出结果:default

25.# includevoid rnain(){mnt fi=1,f2,i;printf(“ /c d”,11);Ior(i=1;i

输出结果:1 4 13 40

26.#includevoid main()

mnt i,cI =0,c2 = 0;for(i=0;i

print f(“% d,%d n”,ci,c2);}

输出结果:4,4

27.# include#includevoid rnain(){char s[]='123456789“;

mnt I,n= sirlen(s);for(i=0;i

输出结果:987654321

28.#includemnt LB(int*a,mnt n){mnt *p,s~1;for(p=a;p

retUrn S;}void main(){mnt a[ 〕= {1,2,3,4,5};mnt b=1.B(a,5);prlntf(', o=%dn”,b);} 输出结果:h=120

24.*1= includevoid mainO {int n=4, y=O;while(n-一)y+=3;printf(“y= %dn飞y);输出结果 y=12

25.*1= includevoid mainOint i , s=O;for(i=l;i

输出结果 s=15

26.# includevoid mainO {char a[J=飞cdbfkmd飞int i1=0, i2=0, i=O;while(a[iJ){ if(a[i]

输出结果 3 5

27.# includevoid mainO {int a [8J= 悦,8,12,16,20,24,钮,32};int * p=a, s=O;do {s+= 铃p;p+=3;}while(p

输出结果 s=48

28.# includestruct Worker { char name[15J;int age;double pay;};void mainO { struct Worker a[4J = {{”abc“,20,2400}, {飞efa飞' 50,3 6 00 },{”ghin飞40,1800} , {“jklt”, 36 ,2200}};int i;double s=O;for

输出结果 s=10000.00

四、写出下到每个函数的功能{每小题6 分,共12 分}

29.int WC(int a口,int n , int k){int i, c=O;for(i=O;i = k)c+ +;return c;函数功能: 统计并返回一维整型数组a[n] 中大于等于k 的元素的个数。

30.假定结构类型struct Worker 的定义体为: {char name[15J;int age;float pay;}。

void QA(struct Worker a[J , int n)mt 1;for(i=O;i

函数功能: 从键盘上为具有struct W orker 类型的数组a[n]输入n 个记录。

29.mnt FH(){mnt x,y=o;scanfC'%d“,&x);while(x>0)(y+=X;scanf(”%d“,&x);return y;函数功能:求出从键盘上输人的一批整数的总和,以小于等于。作为结束键盘输人的标志。

30.假定结点的结构类型用lntNode 表示,它的数值域为data,链接指针域为next, 请根 据下面函数定义写出相应的功能。

mnt FF(struct IntNode * f)//f 为指向一个单链表的表头指针mnt n=0if(f 一= NULL)return 0;while(f){n++;f=f 一> next;return n;}

函数功能:求出并返回由f所指向的单链表中所含结点的个数。

29.假定使用SF(30)调用下面画数,则得到的输出结果为void SF(int x){int i=2;while(x>= i){if(x%i= =0){printf(”%d“,i);x/=i;}i++;}}

函数功能2 3 5

30.假定结点的结构类型为IntNode,它的数值域为data,链接指针域为next,请指出下面函数的功能。void QC(struct IntNode 铃。{ Ilf 为一个单链表的表头指针while(f){printf(”%d “ ,f一>data);f=f 一>next;}}

函数功能遍历输出由表头指针f 所指向的单链表中每个结点的data 域的值。

五、按题目要求编写程序或函数{每小题6 分,共12 分}

31.编写一个程序,输出50 以内(含50)的、能够被3 或者5 整除的所有正整数。# include

void mainO{

mt 1;

for(i=3;i

if(i%3= =0 11 i%5= =0)printf(”%d ” ,i);

printf(“n”);}

32.按照“int FF(int a口,int n)” 的函数声明,编写出递归函数的定义,求出数组a 中所有n 个元素之积并返回。

int FF(int a[],int n)

{if(n

if(n= = 1)return a[O];

else return a[n-1] *FF(a,n-1);}

31.根据函数原型“double Mean(double a[Mi[N],int m, mnt n)”,编写函数定义,要求返 回二维数组a[m][n」中所有元素的平均值。假定在计算过程中采用变量S存放累加值,采用

和i作为扫描数组的循环变量。

double Mean(double a[M][N],mrlt m,mnt n)

{ tnt i.j

double s=0.0

for(i = 0;i

for(j = 0;i

return s/(m,n);}

32.根据函数原型“mnt MM(int a[] ' mnt m)”,编写函数定义,计算并返回数组a[m]中所 有元素的最大值的平方值,假定用变量max保存最大值。

mnt MM(int a[j,mnt m)

{tnt t,max =a[0三;

for(i=1 i

if(a[i]>max)max =a[ i];

return max * max 1/6}

31.编写一个主函数,利用while 循环计算1+2+4+ „+21 0 的值,最后输出计算结果。假定计数变量用i表示,每次累乘2的变量用p 表示,每次累加一个数据项值的变量用sum void mainO

{int i=l , p=l , sum=l;

while(i

printf(“SUM=%dn”, sum);}

32.根据函数原型“void DD(int a口,int n , int MM)”编写函数定义,幸IJ 用双重for 循环统计出数组a [ n]中任何两个不同元素的值等于MM值的配对个数,然后返回统计结果。如假定aCi] +a[j]等于MM,同时i手j,则为一个配对。

int DD(int a口,int n , int MM)

{int i ,j ,c=O;

for(i=O;i

for(j=i+1;j

if(a[iJ+a[jJ= =MM)c++;

return c;}

下载电大 7月 c语言 考试复习word格式文档
下载电大 7月 c语言 考试复习.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文