当前位置:文档之家› 全国计算机等级考试二级C语言笔试模拟试题(1)-中大网校

全国计算机等级考试二级C语言笔试模拟试题(1)-中大网校

全国计算机等级考试二级C语言笔试模拟试题(1)-中大网校
全国计算机等级考试二级C语言笔试模拟试题(1)-中大网校

全国计算机等级考试二级C语言笔试模拟试题(1)

总分:100分及格:60分考试时间:120分

每小题1分,共40分

(1)若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是

A. a,point,*&a

B. &*a,&a,*point

C. *&point,*point,&a

D. &a,&*point,point

(2)现有如下程序段#include "stdio.h" main(){ int k[30]={12,324,45,6,768,98,21,34,453,456}; int count=0,i=0; while(k[i]){ if(k [i]%2==0‖k[i]%5==0)count++; i++; } printf("%d,%d\n",count,i);} 则程序段的输出结果为

A. 7,8

B. 8,8

C. 7,10

D. 8,10

(3)树是结点的集合,它的根结点数目是

A. 有且只有1

B. 1或多于1

C. 0或1

D. 至少2

(4)数据库、数据库系统和数据库管理系统之间的关系是

A. 数据库包括数据库系统和数据库管理系统

B. 数据库系统包括数据库和数据库管理系统

C. 数据库管理系统包括数据库和数据库系统

D. 3者没有明显的包含关系

(5)当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的是

A. m=k=n

B. (m=k)&&(n=k)

C. (m=k)||(n=k)

D. (k=m)&&(n=k)

(6)设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是

A. x&&y

B. x<=y

C. x||++y&&y-z

D. !(x

(7)以下不正确的定义语句是

A. doublex[5]={2.0,4.0,6.0,8.0,10.0};

B. inty[5.3]={0,1,3,5,7,9};

C. charc1[]={′1′,′2′,′3′,′4′,′5′};

D. charc2[]={′\x10′,′\xa′,′\x8′};

(8)阅读下面程序段,则执行后的结果为#include "stdio.h" main(){int m=4,n=2,k; k=fun(m,n); printf("%d\n",k);} fun(int m,int n){return(m*m*m-n*n*n);}

A. 64

B. 8

C. 56

D. 0

(9)软件工程的理论和技术性研究的内容主要包括软件开发技术和

A. 消除软件危机

B. 软件工程管理

C. 程序设计自动化

D. 实现软件可重用

(10)以下叙述中不正确的是

A. 在不同的函数中可以使用相同的名字的变量

B. 函数中的形式参数是局部变量

C. 在一个函数内定义的变量只在本函数范围内有效

D. 在一个函数内的复合语句中定义的变量在本函数范围内有效

(11)函数fseek(pf, OL,SEEK_END)中的SEEK_END代表的起始点是

A. 文件开始

B. 文件末尾

C. 文件当前位置

D. 以上都不对

(12)C语言结构体类型变量在程序执行期间

A. 所有成员一直驻留在内存中

B. 只有一个成员驻留在内存中

C. 部分成员驻留在内存中

D. 没有成员驻留在内存中

(13)以下对结构体类型变量的定义中,不正确的是

A. typedefstructaa

{intn;

floatm;

}AA;

AAtdl;

B. #defineAAstructaa

AA{intn;

floatm;

}tdl;

C. struct

{intn;

floatm;

}aa;

structaatdl;

D. struct

{intn;

floatm;

}tdl;

(14)有如下程序main(){char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++)for(j=0;p[i][j]>′\0′;j+=2)s=10*s+p[i][j]-′0′; printf("%d\n",s);} 该程序的输出结果是

A. 69825

B. 63825

C. 6385

D. 693825

(15)以下程序的输出结果是main(){ int a=21,b=11; printf ("%d\n",--a+b,--b+a); }

A. 30

B. 31

C. 32

D. 33

(16)下列程序的输出结果是main(){ double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y); }

A. 3

B. 3.2

C. 0

D. 3.07

(17)若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是

A. (exp==0)

B. (exp!=0)

C. (exp==1)

D. (exp!=1)

(18)数据库设计包括两个方面的设计内容,它们是

A. 概念设计和逻辑设计

B. 模式设计和内模式设计

C. 内模式设计和物理设计

D. 结构特性设计和行为特性设计

(19)表达式0x13^0x17的值是

A. 0x04

B. 0x13

C. 0xE8

D. 0x17

(20)检查软件产品是否符合需求定义的过程称为

A. 确认测试

B. 集成测试

C. 验证测试

D. 验收测试

(21)下列关于字符串的说法中错误的是

A. 在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符′\0′作为字符串结束标志

B. ′\0′作为标志占用存储空间,计入串的实际长度

C. 在表示字符串常量的时候不需要人为在其末尾加入′\0′

D. 在C语言中,字符串常量隐含处理成以′\0′结尾

(22)以下不能对二维数组a进行正确初始化的语句是

A. inta[2][3]={0};

B. inta[][3]={{1,2},{0}};

C. inta[2][3]={{1,2},{3,4},{5,6}};

D. inta[][3]={1,2,3,4,5,6};

(23)阅读下列程序,程序的输出结果是#include "stdio.h" main(){ int m,n; float k; for(m=6;m>2;m--){ k=0; for(n=m;n>1;n--)k=k+m*n; } printf("%f\n",k); }

A. 5.000000

B. 15.000000

C. 25.000000

D. 35.000000

(24)下面程序段的运行结果是char a[]="lanuage",*p; p=a; while(*p!=′u′){printf ("%c",*p-32);p++;}

A. LANGUAGE

B. language

C. LAN

D. langUAGE

(25)阅读下面程序,则执行后的结果为#include "stdio.h" main(){ char *str="abcdefghijklmnopq"; while(*str++!=′e′); printf("%c\n",*str);}

A. f

B. a

C. e

D. q

(26)设有数组定义: char array[]="China"; 则数组array所占的空间为

A. 4个字节

B. 5个字节

C. 6个字节

D. 7个字节

(27)若变量c为char类型,能正确判断出c为小写字母的表达式是

A. ′a′<=c<=′z′

B. (c>=′a′)||(c<=′z′)

C. (′a′<=c)and(′z′>=c)

D. (c>=′a′)&&(c<=′z′)

(28)假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为

A. log2n

B. n2

C. O(n1.5)

D. n(n-1)/2

(29)下列合法的整型常量的表示是

A. 098

B. oXde

C. 32767

D. 0xDG

(30)下列函数的运行结果是main(){ int i=2,p; int j,k; j=i; k=++i; p=f (j,k); printf("%d",p); } int f(int a,int b){ int c; if(a>b)c=1; else if(a==b)c=0; else c=-1; return(c); }

A. -1

B. 1

C. 2

D. 编译出错,无法运行

(31)已知int a=6; 则执行a+=a-=a*a;语句后,a的值为

A. 36

B. 0

C. -24

D. -60

(32)一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用

A. 栈

B. 堆

C. 数组

D. 链表

(33)在C语言中,退格符是

A. \n

B. \t

C. \f

D. \b

(34)请选出正确的程序段

A. int*p;

scanf("%d",p);

B. int*s,k;

*s=100;

C. int*s,k;

char*p,c;

s=&k;

p=&c;

*p=′a′;

D. int*s,k;

char*p,e;

s=&k;

p=&c;

s=p;

*s=1;

(35)若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a<=25&&b--<=2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf ("###a=%d,b=%d,c=%d\n",a,b,c);程序输出的结果是

A. ***a=25,b=13,c=19

B. ***a=26,b=14,c=19

C. ###a=25,b=13,c=19

D. ###a=26,b=14,c=19

每小题2分,共20分

(1)有以下程序main(){int i=1,j=1,k=2; if((j++||k++)&&i++)printf ("%d,%d,%d\n",i,j,k); } 执行后输出结果是

A. 1,1,2

B. 2,2,1

C. 2,2,2

D. 2,2,3

(2)下列程序执行后的输出结果是void func1(int i); void func2(int i); char st[]="hello,friend!"; void func1(int i){ printf("%c",st[i]); if(i<3){i+=2;func2(i);}} void func2(int i){ printf("%c",st[i]); if(i<3){i+=2;func1(i);}} main(){ int i=0; func1(i); printf("\n");}

A. hello

B. hel

C. hlo

D. hlm

(3)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是

A. 函数调用可以作为独立的语句存在

B. 函数调用可以作为一个函数的实参

C. 函数调用可以出现在表达式中

D. 函数调用可以作为一个函数的形参

(4)有如下程序main(){ int a=2,b=-1,c=2; if(a

A. 0

B. 1

C. 2

D. 3

(5)以下程序段的描述,正确的是x=-1; do {x=x*x;} while(!x);

A. 是死循环

B. 循环执行两次

C. 循环执行一次

D. 有语法错误

(6)C语言中while 和do-while循环的主要区别是

A. do-while的循环体至少无条件执行一次

B. while的循环控制条件比do-while的循环控制条件更严格

C. do-while允许从外部转到循环体内

D. do-while的循环体不能是复合语句

(7)模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的

A. 抽象和信息隐蔽

B. 局部化和封装化

C. 内聚性和耦合性

D. 激活机制和控制方法

(8)现有int a,*b;,b=&a;,则下列运算错误的是

A. *&a

B. &*a

C. *&b

D. &*b

(9)现有如下程序段#include "stdio.h" main(){int a[5][6]={23,3,65,21,6,78,28,5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1}; int i=0,j=5; printf("%d\n",*(&a[0][0]+2*i+j-2));} 则程序的输出结果为

A. 21

B. 78

C. 23

D. 28

(10)下列说法中错误的是

A. 只能在循环体内使用break语句

B. 在循环体内使用break语句可以使流程跳出本层循环体,从而提前结束本层循环

C. 在while和do…while循环中,continue语句并没有使整个循环终止

D. continue的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环判断

每空2分,共40分

(1)下面程序是指从终端读入的20个字符放入字符数组中,然后利用指针变量输出上述字符串,请填空。

#include <stdio.h>

main ()

{ int i; char? s[21],*p;

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

s[i]=getchar ();

s[i]=【6】;

p =【7】

while (*p)putchar? (【8】);

}

(2)以下程序的输出结果是【17】。

main()

{ int y=9;

for(; y>0; y--)

if (y%3==0)

{printf("%d", --y); continue;}

}

(3)在面向对象方法中,类之间共享属性和操作的机制称为【2】。

(4)阅读下面程序,则程序的执行结果为【10】。

#include "stdio.h"

main()

{int a=30,b=20,z;

z=fun(a+b,a-b);

printf("%d\n",z);

}

fun(int a,int b)

{int z;

z=a/b;

return z;

}

(5)若有以下说明和定义语句,则变量w在内存中所占的字节数是【19】。

union aa {float x; float y; char c[6]; };

struct st{ union aa v; float w[5]; double ave; } w;

(6)下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文件中,请填空。

#include "stdio.h"

FILE *fp;

{ char ch;

if((fp=fopen(()))==NULL)exit(0);

while((ch=getchar())!='@')fputc (ch,fp);

fclose(fp);}

(7)函数void fun(float *sn, int n)的功能是:根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。

void fun(float *sn, int n)

{ float s=0.0, w, f=-1.0;

int i=0;

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

{ f=()* f;

w=f/(2*i+1);

s+=w; }

()=s;}

(8)当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为【2】。

(9)数据结构分为逻辑结构与存储结构,线性链表属于【1】。

(10)软件工程研究的内容主要包括:【4】技术和软件工程管理。

(11)阅读下面语句,则程序的执行结果是【7】。

#include "stdio.h"

main()

{ int a=-1,b=1,k;

if((++a <0)&&!(b--<=0))

printf("%d,%d\n",a,b);

else printf("%d,%d\n",b,a);}

(12)函数my_cmp()的功能是比较字符串s和t的大小,当s等于t时返回0,否则返回s 和t的第一个不同字符的ASCII码差值,即s > t时返回正值,当s < t时返回负值。请填空。

my_cmp(char *s, char *t)

{while (*s == *t)

{if (*s == ′\0′)return 0;

++s; ++t;

} return 【18】;

}

(13)以下程序的功能是从健盘输入若干学生的成绩,并输出最高成绩和最低成绩,当输入负数时结束。请填空。main (){float x,amax,amin;scanf ("%f",&x);amax=x;amin=x;while (【7】){if (x>amax)amax=x;elseif【8】amin=x;else scanf ("%f",&x);}printf ("\n amax=%f\n amin=%f\n",amax,amin);}

(14)设int a, b=10;执行a=b<<2+1;后a的值是【15】。

(15)设i,j,k均为int型变量,则执行完下面的for语句后,k的值为【14】。

for(i=0, j=10; i<=j; i++, j--)k=i+j;

(16)软件结构是以【3】为基础而组成的一种控制层次结构。

(17)当调函数frend从磁盘文件中读取数据时,若函数数的返回时为5,则表明【19】;若函数的返回值为0,则表明【20】。

(18)下列x的值是【7】。

int x;x=sizeof 2.25*4;

(19)阅读下面程序,则程序的执行结果为【19】。

#include "stdio.h"

fun(int k,int *p)

{ int a,b;

if(k==1||k==2)

*p=1;

else{ fun(k-1,&a);

fun(k-2,&b);

*p=a+b;

}

}

main()

{ int x;

fun(6, &x);

printf("%d\n",x);

}

(20)阅读下面程序,则在执行时候的输出为【8】。

#include "stdio.h"

main()

{int x=1,y=2,z=0;

if(x=2)z=x,x=y,y=z;

printf("%d,%d\n",x,y);}

答案和解析

每小题1分,共40分

(1) :D

(2) :D

(3) :A

(4) :B

(5) :B

(6) :D

(7) :B

(8) :C

(9) :B

(10) :D

(11) :B

(12) :A

(13) :C

(14) :C

(15) :A

(16) :C

(17) :B

必须是判断0或者1的语句,而且要与(exp)等价,即输入exp=1则()内为1等,只有B符合条件(18) :A

(19) :A

(20) :A

(21) :B

(22) :C

(23) :B

(24) :C

(25) :A

(26) :C

(27) :D

(28) :D

(29) :C

(30) :A

(31) :D

(32) :A

(33) :D

(34) :C

(35) :C

每小题2分,共20分

(1) :C

(2) :C

(3) :D

(4) :C

(5) :C

(6) :A

(7) :C

(8) :B

(9) :A

(10) :A

每空2分,共40分

(1) :

'\0';s;*p++(2) :

852(3) :

继承(4) :

5(5) :

34(6) :

"bi.dat","w"或"bi.dat","w+"(7) : -1;*sn(8) :

上溢(9) :

存储结构(10) :

软件开发(11) :

1,0(12) :

*s-*t(13) :

x>0;x<P(14) :

80(15) :

10(16) :

模块(17) :

读取的数据项做为5;文件结束或出错(18) :

32(19) :

8(20) :

2,2

全国计算机等级考试二级C语言真题

2009年3月二级C语言笔试真题((1)—(10)每小题2分,(11)—(50)每题1分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列叙述中正确的是 A)栈是“先进先出”的线性表 B)队列是“先进先出”的线性表 C)循环队列是非线性结构 D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构 (2)支持子程序调用的数据结构是 A)栈B)树C)队列D)二叉树 (3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是 A)10B)8C)6D)4 (4)下列排序方法中,最坏情况下比较次数最少的是 A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆排序 (5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是 A)编译软件 B)操作系统 C)教务管理系统 D)汇编程序 (6)下面叙述中错误的是 A)软件测试的目的是发现错误并改正错误 B)对被调试的程序进行“错误定位”是程序调试的必要步骤 C)程序调试通常也称为Debug D)软件测试应严格执行测试计划,排除测试的随意性 (7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 A)提高耦合性降低内聚性有利于提高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性

C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度 (8)数据库应用系统中的核心问题是 A)数据库设计 B)数据库系统设计 C)数据库维护 D)数据库管理员培训 (9)有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为 A)选择B)投影C)插入D)连接 (10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域 (11)以下选项中合法的标识符是 A)1-1B)1—1C)-11D)1-- (12)若函数中有定义语句:intk;,则 A)系统将自动给k赋初值0 B)这时k中值无定义 C)系统将自动给k赋初值-1 D)这时k中无任何值 (13)以下选项中,能用作数据常量的是 A)o115B)0118C))115L (14)设有定义:intx=2;,以下表达式中,值不为6的是A)x*=x+1 B)x++,2*x C)x*=(1+x)

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

C语言程序设计模拟试题2(附答案)new

《C语言程序设计》模拟试卷二 一、填空题。(每空2分,共30分) 1.设有变量说明语句 int x=1,y=2; 则执行下述printf语句的输出结果是______ _____。 printf("%f\n",1.0+x/y); 2.执行下述程序 #include main() { int x,y; scanf("%2d%*2s%1d",&x,&y); printf("%d\n",x+y); } 若从键盘输入 12345671 则程序的输出结果是________。 3.以下程序的功能是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入负数或0为结束标志),统计并输出最高成绩和最低成绩。请填空。 #include main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while ( ) { if (x>amax) amax=x; else if (x

} 4.设n 是整型变量,且已具有某正整数值。根据下述数学式 1 1 14131312121+? ++?+?+n n 求s 的值并输出。 可编写如下之程序段实现之。请填空。 int k; double s,d; s=0.0; d=1.0; K=0; do { s=s+d; ___ _________; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是____ ____。 #inclued main() { int a[6],i; for (i=0;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf("%3d",a[i]); } printf("\n"); } 6.执行下述程序时的输出结果是_________ ________。 #include main() { int a[]={2,4,6,},*ptr=&a[0],x=8,y,z; for (y=0;y<3;y++) z=(*(ptr+y)

计算机二级c语言历年真题及答案

计算机二级c语言历年真题及答案【篇一:国家计算机二级c语言历年真题及答案】 class=txt>c语言程序设计 (考试时间90分钟,满分100分) 一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分) (1)下列数据结构中,属于非线性结构的是 a)循环队列 b) 带链队列 c) 二叉树 d)带链栈 (2)下列数据结果中,能够按照“先进后出”原则存取数据的是 a) 循环队列 b) 栈 c)队列 d)二叉树 (3)对于循环队列,下列叙述中正确的是 a)队头指针是固定不变的 b)队头指针一定大于队尾指针 c)队头指针一定小于队尾指针 d)队头指针可以大于队尾指针,也可以小于队尾指针 (4)算法的空间复杂度是指 a)算法在执行过程中所需要的计算机存储空间 b)算法所处理的数据量 c)算法程序中的语句或指令条数 d)算法在执行过程中所需要的临时工作单元数 (5)软件设计中划分模块的一个准则是 a) 低内聚低耦合 b) 高内聚低耦合 c) 低内聚高耦合 d) 高内聚高耦合 (6)下列选项中不属于结构化程序设计原则的是 a) 可封装 d) 自顶向下

c) 模块化 d) 逐步求精 (7)软件详细设计产生的图如下: 该图是 a) n-s图 b) pad图 c) 程序流程图 d) e-r图 (8)数据库管理系统是 a)操作系统的一部分 b) 在操作系统支持下的系统软件 c) 一种编译系统 d) 一种操作系统 (9)在e-r图中,用来表示实体联系的图形是 a) 椭圆图 b) 矩形 c) 菱形 d) 三角形 (10)有三个关系r,s和t如下: 其中关系t由关系r和s通过某种操作得到,该操作为 a) 选择 b) 投影 c) 交 d) 并 (11)以下叙述中正确的是 a)程序设计的任务就是编写程序代码并上机调试 b)程序设计的任务就是确定所用数据结构 c)程序设计的任务就是确定所用算法 d)以上三种说法都不完整 (12)以下选项中,能用作用户标识符的是 a)void b)8_8 c)_0_ d)unsigned (13)阅读以下程序

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

全国计算机二级C语言操作题题库

1.程序Cmody021.c输出如下所示图形: * *** ***** ******* ********* #include void main() { int i,j;for(i=1;i<=5;i++) { for(j=1;j<=5-i;j++)printf(" "); for(j=1;j<=2*i-1;j++) printf("*"); printf("\n"); } } 2.程序Cmody032.c的功能是:输出201-300之间的所有素数,统计总个数。#include #include void main() { int num; printf("\n"); num=fun(); printf("\nThe total of prime is %d",num); getch(); } int fun() { int m,i,k,n=0; for(m=201;m<=300;m++) { k=sqrt(m+1); for(i=2;i<=k;i++) /**/if(m/i==0)/**/ break; /**/if(i==k)/**/ { printf("%-4d",m); n++;

if(n%10==0)printf("\n"); } } return n; } 3. 程序Cmody041.c,其功能是统计输入字符串中小写英文字母的个数。如输入:abcdEFGHIJK123 输出:4 #include #include main() { char str1[128]; /**/int i,len,sum=0;/**/ gets(str1); len=strlen(str1); for(i=0;i='a'&&str1[i]<='z')/**/ sum++; } printf("%d\n",sum); getch(); } 4.程序Cmody051.c,其功能是统计输入字符串中大写英文字母的个数。如输入:abcDEFGH123 输出:5 #include #include main() { /**/char str1[128]/**/ int i,len,sum=0; printf("Please input a string:\n"); scanf("%s",str1); len=strlen(str1); for(i=0;i='A'&&str1[i]<='Z') /**/sum++;/**/

大一C语言期末考试题

大一C语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了______15__个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是___3.1416__。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; __i<100 ___; i++) if (_(i%3==0)&&(i%10==6)_) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是____7____ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= __'\0'____; p1++, p2++) *p2 _=_*p1; *p2= ___'\0'______; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } 6. 下面程序用冒泡法对数组a进行降序排序,请填空。 main() { int a[5]={4,7,2,5,1}; int i,j,m; for(i=0;i<4;i++) for(j=0;j<____4____;j++) if( a[j]

计算机二级C语言测试题及答案解析(一)

2016年计算机二级C语言测试题及答案解析(一)1.(A )是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C 开始执行。 A、程序中第一条可执行语句 B、程序中第一个函数 C、程序中的main函数 D、包含文件中的第一个函数 3、以下说法中正确的是(C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A、C程序的工作过程是编辑、编译、连接、运行 B、C语言不区分大小写。 C、C程序的三种基本结构是顺序、选择、循环 D、C程序从main函数开始执行 5.下列正确的标识符是(C )。

B、a[i] C、a2_i D、int t 5~8题为相同类型题 考点:标识符的命名规则 只能由字母、数字、下划线构成 数字不能作为标识符的开头 关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B )。 A、3ax B、x C、case D、-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C )。 A、%x B、a+b C、a123

选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$”,选项D中“>”,”#”,”.”,”-”不满足(1);选项C 中的while为关键字,不满足(3) 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C 。 A、2.5 B、2 C、1 D、3 %为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1;5%

大学大一C语言程序设计期末考试试卷和答案

四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试 C 语言程序设计试卷 试卷A 答卷说明: 1、 本试卷共6页,答题纸3页,4个大题,35个小题,满分100 分,120分钟完卷。 2、 闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上 答案为准。 3、 本试卷适用于2011级1、2、3班。 一、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的 序号填在题干的括号内。每小题1分,共20分) 1、 在C 语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const 2、 不属于C 语言基本数据类型的是( ) A). int B). union C). char D). unsigned 3、 下面是对宏定义的描述。不正确的是( ) A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间 C). 宏替换只是字符串的简单替代 D). 宏替换时先检查类型,类型一致时才可以替换 4、 C 语言中,″\\xfds ″在内存中占用的字节数是( ) __________________学院__________级___________班 姓名_______________ 学号_______________ ………………………………(密)………………………………(封)………………………………(线)……………………………… 密 封 线 内 答 题 无 效

A).3 B).4C).5D).6 5、设int x;则执行printf(″%x\n″,~x^x);的结果是() A). ffffffff B). ff C).0D). 1 6、对于while语句,错误的说法是() A).用条件控制循环体的执行次数B).循环体至少要执行一次 C).循环体有可能一次也不执行D).循环体中可以包含若干条语句 7、执行下列语句后输出的结果是() int a=8,b=7,c=6; if(ac){a=c;c=b;} printf("%d,%d,%d\n",a,b,c); A).6,7,7B).6,7,8C).8,7,6D).8,7,8 8、设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是() A).9,19B).9,20C).10,19D).10,20 9、设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么() A).x数组的长度等于y数组的长度B).x数组的长度大于y数组的长度 C).x数组的长度少于y数组的长度D).x数组与y数组的存储区域相同 10、设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是() for(i=0;i<3;i++) printf(″%d″,x[i][2-i]); A).147B).159C).357D).369 11、执行完下列语句后,n的值是() int n; for (n=0 ; n<100 ; n=2*n+1); A).125B).126 C).127D).128 12、有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果() A).–132 B).–60 C). -24 D). 0 13、为了连接两个字符串s1与s2,应当使用() A). strcat( s1,s2 ) B). strcpy( s1, s2 ) C). strlen( s1, s2 ) D). strcmp( s1, s2 ) 14、设int a,*p;则语句p=&a;中的运算符“&”的含义是() A).位与运算B).逻辑与运算C).取指针内容D).取变量地址 15、下面输出的结果为() i nt a=13, b=64; printf(“%d\n”, !a || (b>>3) );

大一上学期C语言期末复习总结和模拟试题带答案

易错点 C语言中易犯的错误 对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误.看着有错的程序,不知该如何改起,一些C编程时常犯的错误,写给各位学员以供参考. ******************************** ******************************** ************************ 1.书写标识符时,忽略了大小写字母的区别. main() { int a=5; printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息. C认为大写字母和小写字母是两个不同的字符.习惯上,符号常量 名用大写,变量名用小写表示,以增加可读性. ******************************** ******************************** ************************ 2.忽略了变量的类型,进行了不合法的运算. main() { float a,b; printf("%d",a%b); } %是求余运算,得到a/b的整余数.整型变量a和b可以进行求余运算,而实型变量则不允许进行"求余"运算. ******************************** ******************************** ************************ 3.将字符常量与字符串常量混淆. char c; c="a"; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单 引号括起来的单个字符,字符串常量是一对双引号括起来的字符序 列.C规定以"\"作字符串结束标志,它是由系统自动加上的,所 以字符串"a"实际上包含两个字符:'a'和'\',而把它赋给一 个字符变量是不行的. ******************************** ******************************** ************************ 4.忽略了"="与"=="的区别. 在许多高级语言中,用"="符号作为关系运算符"等于". 如在BASIC程序中可以写 if (a=3) then … 但C语言中,"="是赋值运算符,"=="是关系运算符.如: if (a==3) a=b; 前者是进行比较,a是否和3相等,后

计算机二级c语言题库及答案

2016年计算机二级c语言题库及答案 一、选择题(每小题1分,共40小题,共40分) 1.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。 或35 2.下列关于栈的叙述中,正确的是( )。 A.栈底元素一定是最后入栈的元素 B.栈操作遵循先进后出的原则 C.栈顶元素一定是最先入栈的元素 D.以上三种说法都不对 3.下列链表中,其逻辑结构属于非线性结构的是( )0、 A.双向链表 B.带链的栈 C.二叉链表 D.循环链表 4.在关系数据库中,用来表示实体间联系的是( )。 A.网状结构 B.树状结构 C.属性 D.二维表 5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。 :m联系 :n联系 :1联系 :l联系

6.右两个关系R和S如下: 则由关系R得到关系S的操作是( )。 A.自然连接 B.并 C.选择 D.投影 7.数据字典(DD)所定义的对象都包含于( )。 A.软件结构图 B.方框图 C.数据流图(DFD图) D.程序流程图 8.软件需求规格说明书的作用不包括( )。 A.软件设计的依据 B.软件可行性研究的依据 C.软件验收的依据 D.用户与开发人员对软件要做什么的共同理解 9.下面属于黑盒测试方法的是( )。 A.边界值分析 B.路径覆盖 C.语句覆盖 D.逻辑覆盖 10.下面不属于软件设计阶段任务的是( )。 A.制订软件确认测试计划 B.数据库设计 C.软件总体设计 D.算法设计 11.以下叙述中正确的是( )。 A.在C语言程序中,main函数必须放在其他函数的最前面 B.每个后缀为C的C语言源程序都可以单独进行编译 C.在C语言程序中,只有main函数才可单独进行编译

大一c语言期末考试题

大一c语言期末考试题 C语言期末考试试题附答案 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c;

大一c语言考试试题

一、单项选择题(每小题2分,共50分) 1、一个C程序的执行是从___A__。 A、本程序的main函数开始,到main函数结束 B、本程序的main函数开始,到本程序文件的最后一个函数结束 C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 2、C语言程序的基本单位是___C___。 A、程序行 B、语句 C、函数 D、字符 3、请选出可用作C语言用户标识符的一组标识符___B___。 A、void B、a3_b3 C、For D、2a define _123 -abc DO WORD IF ase sizeof 4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是__C__ 。 A、4.500000 B、4 C、4.000000 D、2.000000 5、下列可以正确表示字符型常量的是___D__。 A、297 B、"a" C、"\n" D、'\t' 6、在C语言中,要求运算数必须是整型的运算符是__D__。 A、/ B、++ C、*= D、% 7、C语言中,复合语句的构成是将一系列语句置于__C__。

A、begin与end之间 B、方框号“[ ]”之间 C、花括号“{ }”之间 D、圆括号“( )”之间 8、有如下程序段,对应正确的数据输入是___A___。 float x,y; scanf(”%f%f”, &x,&y); printf(”a=%f,b=%f”, x,y); A、2.04<回车> B、2.04,5.67<回车> 5.67<回车> C、A=2.04,B=5.67<回车> D、2.045.67<回车> 9、以下程序段的输出结果是___D__。 int a=5678; printf(”%2d\n”, a); A、提示出错、无结果 B、56 C、78 D、5678 10、已知:char ch='A';则下列表达式的值是__B__。 ch = (ch>='A'&&ch<='Z') ? (ch+32) : ch; A、A B、a C、Z D、z 11、下列描述,正确的是___B__ 。 A、表达式3.91%5是合法的 B、用b=89作为while循环的条件是合法的

历年全国计算机二级C语言试题库完整

. . . . 参考 50道C 语言知识题 1.以下叙述中正确的是 A)用C 程序实现的算法必须要有输入和输出操作 B)用C 程序实现的算法可以没有输出但必须要有输入 C)用C 程序实现的算法可以没有输入但必须要有输出 D)用C 程序实现的算法可以既没有输入也没有输出 2.下列可用于C 语言用户标识符的一组是 A)void,define,WORDB)a3_3,_123,Car C)For,-abc,IFCaseD)2a,DO,sizeof 3.以下选项中可作为C 语言合法常量的是 A)-80B)-080C)-8e1.0D)-80.0e 4.若有语句:char*line[5];,以下叙述中正确的是 A)定义line 是一个数组,每个数组元素是一个基类型为char 为指针变量 B)定义line 是一个指针变量,该变量可以指向一个长度为5的字符型数组 C)定义line 是一个指针数组,语句中的*号称为间址运算符 D)定义line 是一个指向字符型函数的指针 5.以下定义语句中正确的是 A)inta=b=0;B)charA=65+1,b=′b′; 6.有以下程序段 charch;intk; ch=′a′; k=12; printf("%c,%d,",ch,ch,k);printf("k=%d\n",k); 已知字符a 的ASCII 码值为97,则执行上述程序段后输出结果是 A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值 C)a,97,12k=12 D)a,97,k=12 7.有以下程序 main() {inti,s=1; for(i=1;i<50;i++) if(!(i%5)&&!(i%3))s+=i; printf("%d\n",s);} 程序的输出结果是 A)409B)277C)1D)91 8.当变量c 的值不为2、4、6时,值也为"真"的表达式是 A)(c==2)||(c==4)||(c==6) B)(c>=2&&c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1) 9.若变量已正确定义,有以下程序段

江苏大学大一c语言期末复习题汇总

选择题 1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D.A.dat 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=1-.le-1; B.double b=1+5e2.5; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 14.已知x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。 A.0 B.语法错 C.1 D.“假”

计算机二级C语言考试编程题题库

计算机c语言编程题库 1、求100之内自然数中最大的能被17整除的数。 void main() { int i; for(i=100;i>0;i--) if(i%17==0)break; printf("%d\n",i); } 2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。 void main() { int a,b,c; for(a=1;a<=9;a++) { for(b=0;b<=9;b++) { for(c=1;c<=9;c++) if(a*100+b*10+c+c*100+b*10+a==1333) printf("%d,%d,%d\n",a,b,c); } } } 3、计算并输出200-400之间不能被3整除的整数的和。 void main() { int i,sum=0; for(i=200;i<=400;i++) if(i%3!=0) sum=sum+i; printf("%d\n",sum); } 4、从键盘输入10个数,统计非负数的个数,并计算非负数的和。 void main() { int i,n=0,sum=0; int a[10]; printf(“请输入10个数:”);

for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(i=0;i<10;i++) if(a[i]>=0) { sum=sum+a[i]; n++;} printf("非负个数是%d,sum=%d\n",n,sum); } 5、求100之内自然数中偶数之和。 void main() { int i,sum=0; for(i=0;i<=100;i++) if(i%2==0) sum=sum+i; printf("sum=%d\n",sum); } 6、输入5个数,求和并输出。要求编写求和的函数。 void main() { int b(int x[],int n); int sum=0; int a[5]; int i; printf("请输入5个数:"); for(i=0;i<5;i++) scanf("%d",&a[i]); sum=b(a,5); printf("sum=%d\n",sum); } int b(int x[],int n) { int i,sum=0; for(i=0;i<5;i++) sum=sum+x[i]; return sum; } 7、编程计算1*2*3+3*4*5+5*6*7+...+99*100*101的值。 void main() { int i,sum=0; for(i=1;i<=99;i=i+2) sum=sum+i*(i+1)*(i+2); printf("%d\n",sum); } 8、编写程序,将用户输入的字符串中所有的字符a用*代替,然后输出。void main()

C语言程序设计模拟试题2(附答案)new

本文由2009220176贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 语言程序设计》 《C 语言程序设计》模拟试卷二 一、填空题。(每空 2 分,共 30 分) 填空题。(每空 。( 1.设有变量说明语句 int x=1,y=2; 则执行下述 printf 语句的输出结果是 printf("%f\n",1.0+x/y); 2.执行下述程序 #include main() { int x,y; scanf("%2d%*2s%1d",&x,&y); printf("%d\n",x+y); } 若从键盘输入 12345671 则程序的输出结果是。 3.以下程序的功能是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入 负数或 0 为结束标志),统计并输出最高成绩和最低成绩。请填空。 #include main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while ( ) 。 { if (x>amax) amax=x; else if (x main() 。 { int a[6],i; for (i=0;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf("%3d",a[i]); } printf("\n"); } 6.执行下述程序时的输出结果是 #include main() { int a[]={2,4,6,},*ptr=&a[0],x=8,y,z; for (y=0;y<3;y++) z=(*(ptr+y)<x)?*(ptr+y):x; printf("%d\n",z); } 7.执行下述程序的输出结果是 #include main() { int a[][2]={10,20,30,40,50,60},(*p)[2]; p=a; printf("%d\n",*(*(p+2)+1)); } 8.执行以下程序的输出结果是 #include 。 。 。 main() { int s,i,sum(); for (i=1;i<=10;i++) s=sum(i); printf("s=%d\n",s); } sum(int k) { int x=0; return (x+=k); } 9.下述函数定义用来求出两个整数之和,并通过函数的模拟传地址调用,传回两整 数相加之和值,请填空。 void add(int x,int y, { *z=x+y; } 10.函数 func 的功能是将整型变量 x 的值转换成二进制数,并将该二进制数的每一 位存入由整型指针 b 所指向的一维数组 a,最低位存放于 a[0]中, 次低位存放于 a[1] 中,依此类推。请填空。 void func(int x,int *b) { int r; do { r=x%2; =r; ) x/=2; } while (x); } 11.以下程序中函数 invert 实现将数组内所有数组元素的值逆置。比如,执行本程 序将输出 10 9 8 7 6 5 4 3 2 1 请填空。 #include main() { int a[10]={1,2,3,4,5,6,7,8,9,10},i,n=10; invert(a,n-1); for (i=0;i<10;i++) printf("%3d”,a[i]); printf("\n"); } invert(int *s,int num) { int *t,k; t=s+num; while ( { k=*s; *s=*t; *t=k; s++; t--; } ) } 12.若有以下定义和说明,则结构体变量 w 在内存中所占的字节数是 union aa { float x; float y; char c[6]; }; struct st { union aa v; float w[5]; double ave; } w; 13.执行下述程序的输出结果是 #include struct str { float x; char *y; } *m; struct str group[3]={ 95.0,"Li", 82.5,"Wang", 73.5,"Sun" }; main() { m=group; printf("%.lf,%s\n",m->x,m->y); } 。 14.下面的程序用来统计某文件文件中字符的个数。请填空。 #include #include main() { FILE *fp; long num=0; if ((fp=fopen("fnam.dat","r"))==NULL) { printf("Can't open this file!\n"); exit(0); } while ( { fgetc(fp); num++; } printf("num=%d\n",num); fclose(fp); } 15.执行下述程序后,输出结果为 。 #include #define FUN1(a,b) a+b #define FUN2(a,b) a-b #define CAL(a,b) a*b+a+3 main() { printf("%d\n",CAL(FUN1(3,5),FUN2(4,5))); } ) 二、单项选择题。(每题 1 分,共 20 分) 单项选择题。(每题 。( 1.以下不是 c 语言规定保留字的是( (A)float (B)integer )。 (D) unsigned ) (C)signed 2.设 int 型变量 x 有初始值 3,则表达式 x++*5/10 的值是( (A)0 (B)1 (C)2 ) (D)3 3.下述程序执行后的输出结果是( #include main() { int x='f'; printf("%c\n",'a'+(x-'a'+1)); } (A)g 4.设有程序 #include main() { int i,j; for (i=0,j=1;i<=j+1;i+=2,j--) printf("%d\n",i); } (B)h (C)i (D)j 在运行上述程序时,for 语句中循环体的执行次数是( (A)3 (B)2 (C)1 (D)0 )

相关主题
文本预览
相关文档 最新文档