当前位置:文档之家› C语言试题及答案

C语言试题及答案

C语言试题及答案
C语言试题及答案

下面四个选项中,均是不合法的用户标识符的选项是()。

A、float la0 _A

B、A P_0 do

C、_123 temp int

D、b-a goto int

表达式18/4*sqrt(4.0)/8值的数据类型为()。

A、double

B、float

C、int

D、不确定

设:

long w=65535,t=7654321;

根据下面的输出结果,正确的程序段是( ).

w=65535,t=7654321

end

A、printf("w=%5d,t=%7d\n",w,t);printf("%s","end');

B、printf("w=%5ld,t=%7ld",w,t);printf("%c","end");

C、printf("w=%5ld,t=%7ld\n",w,t);printf("%s","end");

D、printf("w=%5u,t=%7u\n",w,t);printf( "end");

选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。哪个数作为逻辑“假”值()。

A、0

B、-1

C、非零的数

D、1

假定有以下变量定义:

int k=7,x=12;

则能使值为3的表达式是:( )

A、(x%=k)-(k%=5)

B、x%=(k-k%5)

C、x%=k-k%5

D、x%=(k%=5)

在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的

表达式是()。

A、(E>0||E<0)

B、(E==0)

C、(!E==0)

D、(E!=0)

下面有关 for 循环的正确描述是()。

A、for 循环是先执行循环体语句,后判断表达式

B、在 for 循环中,不能用 break 语句跳出循环体

C、for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

D、for 循环只能用于循环次数已经确定的情况

在C语言中,一维数组的定义方式为:类型说明符数组名()。

A、[整型常量]或[整型表达式]

B、[正整型常量表达式]

C、[整型表达式]

D、[常量表达式]

以下正确的说法是( ).

A、函数的类型决定返回值的类型

B、定义函数时,形参的类型说明可以放在函数体内

C、return后面不能为表达式

D、如果形参与实参的类型不一致,以实参类型为准

若调用一个函数,且此函数中没有return语句,则正确的说法是:

该函数()。

A、没有返回值

B、返回一个不确定的值

C、返回若干个系统默认值

D、能返回一个用户所希望的值

设函数的调用形式如下: f((x1, x2),(y1,y2,y3)),则函数有 ( )个形参.

A、2

B、4

C、3

D、5

在"文件包含"的预处理中,被包含的文件应是( ).

A、文本文件

B、可执行文件

C、目标文件

D、二进制文件

字符串指针变量中存入的是( )。

A、字符串的首地址

B、字符串变量

C、第一个字符

D、字符串

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

main( )

{char str[ ]="ABCD",*p=str; printf("%d\n",*(p+4));}

A、68

B、字符D的地址

C、不确定的值

D、0

C语言中,定义结构体的保留字是()。

A、typedef

B、union

C、struct

D、enum

DACAABCBABAAADC

在C程序中,%作为运算符时,是只能用于整数运算。

在C语言中,各种类型的整型数据在内存中都占2个字节。

C语言程序中输入一个中间带有空格的字符串时,只能用gets函数. 整型变量在全部范围内可以用字符格式输出.

已知a=1,b=2,c=3,d=4,则条件表达式a>b?a:(c>d?c:d)的值为4. 逻辑表达式4>2&&1||5<3-!0的值为1.

下面程序段的输出结果为A。

int i=20;

switch(i/10)

{

case 2:printf("A");

case 1:printf("B");

}

对于for(表达式1;表达式2;表达式3)语句来说,continue语句意味着转去执行表达式2.

for循环的三个表达式都可以省略.

循环结构中的continue语句是使整个循环终止执行

定义char s[9];gets(s);若键盘输入的字符串是Turbo c↙(↙代表按回车键操作),则键盘输入的字符最终输入给数组s中的字符个数是7.

定义一维数组的形式为:类型说明数组名[表达式],其中表达式必须是整型常量.

下列程序段是否正确:

int a[10];

....

a++;

字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面.

静态局部变量是在编译时被初始化的,故它只被赋初值一次.

没有初始化的数值型静态局部变量的初值是不确定的值.

如果字符串与宏名相同,则不管其是否在双撇号内,都要进行宏替换.

有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是

*(p+8).

共用体变量中起作用的成员是最后一次存放的成员.

在打开文件时,必须说明文件的使用方式,"wb+"表示以读/写方式打开一个二进制文件.

TFTFTTFFTFTFFFTFFTTF

设有int x=11,则表达式(x++ * 1/3)的值是_____。

执行下列语句的结果是_____.

a=3;

printf("%d,",++a);

printf("%d",a++);

已知 a=10,b=15,c=1,d=2,e=10,则表达式a++&&e++&&c++的值为_____.

程序段int k=10; while(k=0) k=k-1;循环体语句执行_____次.

C语言中,数组元素的下标下限为_____.

在调用一个函数的过程中,直接或间接地调用该函数本身,称为函数的_____调用。

执行下列语句后,*(p+1)的值是_____.

char s[3]="ab",*p; p=s;

设有以下共用体类型说明和变量定义,则变量c在内存所占字节数是 _____。

union stud { short int num; char name[10]; float score[5]; double ave; } c;

3 4,

4 1 0 0 递归 b 20

下述正确的C语言常量是:( ).

A、E2

B、5.0E

C、3e-3

D、1.5E2.5

若有定义:int a=7;float x=2.5,y=4.7;

则表达式x+a%3*(int)(x+y)%2/4的值是()。

A、0.000000

B、2.750000

C、3.500000

D、2.500000

根据下面的程序,使i=123,c1='A',c2='B'哪一种是正确的键盘输入方法( ).

(规定用[CR]表示回车,U表示空格)

main()

{

int i;

char c1,c2;

scanf("%d%c%c", &i,&c1,&c2);

}

A、123AUB[CR]

B、123UAUB[CR]

C、123AB[CR]

D、123[CR]AB[CR]

下列程序段的输出结果为()。 int a=7,b=9,t; t=a*=a>b?a:b; printf("%d",t);

A、49

B、63

C、7

D、9

int a=1,b=2,c=3; if(a>c)b=a;a=c;c=b;则c的值为()。

A、1

B、3

C、2

D、不一定

t为int类型,进人下面的循环之前,t的值为0

while( t=1 )

{ ……}

则以下叙述中正确的是( )。

A、循环控制表达式的值为0

B、循环控制表达式不合法

C、循环控制表达式的值为1

D、以上说法都不对

针对for循环语句,for(表达式1;表达式2;表达式3),下列说法正确的是( ).

A、break语句可以一次性跳出多层嵌套循环

B、break语句只能跳出最内层循环

C、continue语句可以一次性跳出多层嵌套循环

D、continue语句可以跳出最内层循环

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

A、double x[5]={2.0,4.0,6.0,8.0,10.0};

B、char c1[]={'1','2','3','4','5'};

C、int y[5]={0,1,3,5,7,9};

D、char c2[]={'\x10','\xa','\x8'};

以下正确的说法是( ).

A、函数的类型决定返回值的类型

B、定义函数时,形参的类型说明可以放在函数体内

C、return后面不能为表达式

D、如果形参与实参的类型不一致,以实参类型为准

C语言规定,函数返回值的类型是由()。

A、在定义该函数时所指定的函数类型所决定

B、return语句中的表达式类型所决定

C、调用该函数时系统临时决定

D、调用该函数时的主调函数类型所决定

函数fun用于将一字符串按相反次序显示,则横线上的表达式为( ). void fun(char *s)

{ if(! *s)

return;

_____;

printf("%c",*s);

}

A、printf("%s",s+1);

B、fun(*(s+1));

C、printf("%s",s+strlen(s)-1);

D、fun(s+1);

在宏定义#define PI 3.14159中, 用宏名替换一个( ).

A、字符序列

B、函数名

C、单精度数

D、双精度数

若有说明:int *p1,*p2,m=5,n; 以下均是正确赋值语句的选项是()。

A、p1=&m;p2=p1;

B、p1=&m;p2=&p1

C、p1=&m;*p2=*p1;

D、p1=&m;p2=&n;*p1=*p2;

下列程序的运行结果是:( ).

void fun(int *a, int *b)

{ int *k;

k=a;a=b;b=k;

}

main( )

{ int a=3,b=6,*x=&a, *y=&b;

fun(x, y);

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

}

A、6 3

B、3 6

C、0 0

D、编译出错

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

A、没有成员驻留在内存中

B、所有成员一直驻留在内存中

C、只有一个成员驻留在内存中

D、部分成员驻留在内存中

参考答案:CDCBCCBCAADAABB

表达式 (j=3, j++) 的值是4.

若 a=3,b=2,c=1 则关系表达式(a>b)==c 的值为"真"。

C语言的输入功能是由系统提供的输入函数实现的.

char c[6]="abcde"; printf("%3s", c)表示输出的字段的宽度为3位,如果被输出的数据的位数大于3,只输出3位数.

条件表达式x?'a':'b'中,若x=0时,表达式的值为'a'.

设x=1,y=2,z=3,则逻辑表达式x-y>z&&y!=z的值为0.

已知a=3,b=4,c=5.则逻辑表达式a+b>c && b==c值为0.

若有说明int c;则while(c=getchar());没有语法错误。

do-while循环由do开始,while结束,循环体可能一次也不做。

for循环语句只能用于循环次数确定的情况下.

若有定义 int a[10];则 for (i=0;i<=10;i++) a[i]=i;编译时无语法错误.

定义 int x[5],n;则x=x+n;或x++;都是正确的.

二维数组在内存中存贮时,是按列的顺序连续存贮各元素的值.

变量根据其作用域的范围可以分作局部变量和全局变量.

通过return语句,函数可以带回一个或一个以上的返回值。

函数的返回值可以通过函数中的return语句获得。

若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义,

所以此宏定义是错误的。

定义 int a[ ]={1,2,3,4},y,*p=&a[1];,则执行y=(*--p)++后,y的值是2.

一个共用体变量中可以同时存放其所有成员.

用fopen("file","r+");打开的文件"file"可以进行修改。

参考答案:FTTFFTTTFFTFFTFTFFFT

若有定义:char c='\010'; 则变量C中包含的字符个数为_____.

getchar()函数只能接收一个_____.

执行下列语句后, b的十进制值是_____.

int x=240,y=15,b;

char z='A';

b=(( x && y ) && ( z < 'a' ));

设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是_____. for (x=0,y=0;y!=123&&x<3;x++)

scanf ("%d",&y);

C语言中,数组名是一个不可变的_____常量,不能对它进行加减和赋值运算.

函数调用语句func((e1,e2),(e3,e4,e5))中含有_____个实参.

定义int *p,a[5];将数组a的首地址赋给指针变量p的语句是_____.

结构体是不同数据类型的数据集合,作为数据类型, 必须先说明结构体_____,再说明结构体变量.

参考答案:1 字符 1 3 指针(地址) 2 p=a

p=&a[0]

p=a;

p=&a[0];

类型

下列关于单目运算符++、--的叙述中正确的是( )。

A、它们的运算对象可以是int型变量,但不能是double型变量和float型变量

B、它们的运算对象可以是任何变量和常量

C、它们的运算对象可以是char型变量和int型变量,但不能是float型变量

D、它们的运算对象可以是char型变量、int型变量和float型变量

执行下列程序后,其输出结果是()。

main()

{int a=9;

a+=a-=a+a;

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

}

A、18

B、-9

C、9

D、-18

打印语句printf("sTUDEND\bT\rS");在屏幕上正确的输出形式是( ).

A、sTUDENDS

B、TUDENTS

C、STUDENT

D、sTUDENTS

已知键盘输入a=4,b=3,下面程序输出的结果是( ).

main()

{ int a,b,s;

scanf("%d%d",&a,&b);

s=a;

if(a

s=s*s;

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

}

A、9

B、13

C、16

D、15

若给定条件表达式(m)?(a++):(a--),则其中表达式m()。

A、和(m==0)等价

B、和(m!=0)等价

C、和(m==1)等价

D、和(m!=1)等价

执行语句 for(i=1;i++<4;); 后变量 i 的值是()。

B、5

C、4

D、不定

以下描述中正确的是()。

A、由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句

B、do-while 循环中,根据情况可以省略 while

C、在 do-while 循环体中,必须有能使循环退出的操作。

D、do-while 循环由do开始,用while结束,在 while(表达式)后面不能写分号

int a[10];合法的数组元素的最小下标值为()。

A、10

B、9

C、1

D、0

以下正确的函数定义是( ).

A、double fun(int x, int y) { z=x+y; return z;}

B、fun(x, y) { int x, y; double z; z=x/y; return z;}

C、float f(int x, int y) {float z; z=x/y; return z;}

D、fun(int x, y) { int z; return z; }

char a1[]="abc",a2[80]="1234";将a1串连接到a2串后面的语句是()。

A、strcat(a2,a1);

B、strcat(a1,a2);

C、strcpy(a1,a2);

D、strcpy(a2,a1);

若有 char s1[]="abc",s2[20],*t=s2;gets(t); 则下列语句中能够实现当字符串s1大于字符串s2时,输出s2的语句是()。

A、if(strcmp(s2,s1)>0)puts(s2);

B、if(strcmp(s2,t)>0)puts(s2);

C、if(strcmp(s1,t)>0)puts(s2);

D、if(strcmp(s1,s1)>0)puts(s2);

已知有宏定义#define SQR(a) 2*a*a,则SQR(3+4)的值为( ).

A、22

B、32

C、98

若有说明:int *p,m=5,n;以下正确的程序段是()。

A、scanf("%d",&n);*p=n;

B、p=&n;scanf("%d",*p)

C、p=&n;scanf("%d",&p);

D、p=&n;scanf("%d",p);

char h,*s=&h;可将字符H通过指针存入变量h中的语句是()。

A、*s='H';

B、s='H'

C、*s=H;

D、s=H;

定义结构体的关键字是( )。

A、struct

B、typedef

C、enum

D、union

参考答案:DDCCBBCDCACADAA

若 a=3,b=2,c=1 则关系表达式(a>b)==c 的值为"真"。

a=(b=4)+(c=6) 是一个合法的赋值表达式。

C语言程序中输入一个中间带有空格的字符串时,可以用scanf函数.

格式字符%e以指数形式输出实数数字部分小数位数7位.

设g=1,h=2,k=3,则逻辑表达式k+g||!h&&k-h的值为0

求解表达式max=(a>b)?a:b的步骤是,先求解条件表达式(a>b),再根据它的值将a或b赋给max.

语句if(a>b) printf("%d",a); else printf("%d",b);可以用条件表达式a>b?a:b取代. break语句能够终止当前进行的多层循环.

for循环的三个表达式都可以省略.

for语句的循环体至少执行一次.

字符串"Da lian"在内存中的存储长度是7.

定义 int x[5],n;则x=x+n;或x++;都是正确的.

若有定义 int a[10];则 for (i=0;i<=10;i++) a[i]=i;编译时无语法错误.

数组名作为函数调用时的实参,实际上传递给形参的是数组第一个元素的值.

当变量的存储类型定义缺省时,系统默认为变量的存储类型为auto类型,分配在静态区.

两个字符串中的字符个数相同时才能进行字符串大小的比较

如果被包含文件中有全局静态变量,它们在用#include命令的源文件中有效.

假设有int a[10], *p;则p=&a[0]与p=a等价

共用体变量中起作用的成员是最后一次存放的成员.

下面的定义和语句是合法的:

file *fp;fp=fopen("a.txt","r");

参考答案:TTFFFTFFTFFFTFFFTTTF

若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量c中的值是 _____ .

c=(a-=(b-5)); c=(a%11)+(b=3);

下列语句输出的结果是_____,int a=-1;printf("%x",a);(在vc环境下)

设a=3,b=4,c=4,则表达式a+b>c&&b==c&&a||b+c&&b==c的值为_____.

以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则下划线处应填

写_____.

ch=getchar();

while(ch ____ 'Y')

ch=getchar();

static int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};其中a[1][2]的值为_____.

局部静态变量是在静态存储区分配存储单元的,在整个程序运行期间始终占_____的. 将函数func的入口地址赋给指针变量p的语句是_____.

设有以下结构类型说明和变量定义,则变量b在内存所占字节数是 _____。

struct stud { short int age; char num[3]; float s[2]; double ave; } b,*p;

参考答案:9 ffffffff 1 == 6 内存 p=func;

p=func

21

下列四组选项中,均不是C语言关键字的选项是()。

A、while go pow

B、define IF type

C、include scanf case

D、getc char printf

字符串"\\\"ABC\"\\"所占内存字节的长度是:( ).

A、11

B、8

C、5

D、7

根据下面的程序,使a=123,c1='o',c2='k'哪一种是正确的键盘输入方法?( )。(规定用字符串[CR]表示回车,U表示空格)

main()

{int a;

char c1,c2;

scanf("%d%c%c", &a,&c1,&c2);

}

执行下面程序段后,ch的值是( ).

char ch='a';

ch=(ch>='A'&&ch<='Z')?(ch+32):ch;

A、z

B、Z

C、a

D、A

若给定条件表达式(m)?(a++):(a--),则其中表达式m()。

A、和(m==0)等价

B、和(m!=0)等价

C、和(m==1)等价

D、和(m!=1)等价

t为int类型,进人下面的循环之前,t的值为0

while( t=1 )

{ ……}

则以下叙述中正确的是( )。

A、循环控制表达式的值为0

B、循环控制表达式不合法

C、循环控制表达式的值为1

D、以上说法都不对

语句while(!E);中的表达式!E等价于()。

A、E==1

B、E!=0

C、E!=1

D、E==0

int a[10]; 给数组a的所有元素分别赋值为1、2、3、……的语句是()。

A、for(i=1;i<11;i++)a[i]=i;

B、for(i=1;i<11;i++)a[0]=1;

C、for(i=1;i<11;i++)a[i+1]=i;

D、for(i=1;i<11;i++)a[i-1]=i;

int i,j,a[2][3];按照数组a的元素在内存的排列次序,希望将

1,2,3,4,5,6存入a数组中,以下语句无法实现的是()。

A、for(i=1;i<=6;i++)a[i][i]=i;

B、for(i=0;i<6;i++)a[i/3][i%3]=i+1;

C、for(i=0;i<2;i++)for(j=0;j<3;j++)a[i][j]=i*3+j+1;

D、for(i=0;i<3;i++)for(j=0;j<2;j++)a[j][i]=j*3+i+1;

对于void类型函数,调用时不可作为()。

A、循环体里的语句

B、表达式

C、if语句的成分语句

D、自定义函数体中的语句

C语言规定,程序中各函数之间( ).

A、允许直接递归调用不允许间接递归调用

B、不允许直接递归调用也不允许间接递归调用

C、既允许直接递归调用也允许间接递归调用

D、不允许直接递归调用允许间接递归调用

在Turbo C 运行环境下,下列说法中正确的是( ).

A、双引号中字符串的字符,如果与宏名相同,就要替换.

B、用宏定义不可以得到多个返回值.

C、双引号中字符串的字符,即使与宏名相同,也不替换.

D、调用函数可以得到多个返回值.

若有以下定义和语句:

int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;

不能表示a数组元素的表达式是( )。

A、*p

B、a[10]

C、*p++

D、a[p-a]

下面程序的输出结果应该是( ).

#include

#include

main()

{ char *p1="abc",*p2="ABC",str[50]="xyz";

strcpy(str+2,strcat(p1,p2));

printf("%s\n",str);

}

A、yzabcABC

B、xyabcABC

C、zabcABC

D、xyzabcABC

结构体类型的定义允许嵌套是指()。

A、成员是已经或正在定义的结构体型

B、定义多个结构体型

C、成员可以重名

D、结构体型可以派生

参考答案:BBBCBCDDABCCBBA

在C语言中,各种类型的整型数据在内存中都占2个字节。

若 a=3,b=2,c=1 则关系表达式(a>b)==c 的值为"真"。

格式字符%e以指数形式输出实数数字部分小数位数7位.

C语言程序中输入一个中间带有空格的字符串时,可以用scanf函数. 下面程序段的输出结果为A。

int i=20;

switch(i/10)

{

case 2:printf("A");

case 1:printf("B");

}

设o=1,p=2,q=3,则逻辑表达式!(o

运算符的级别由高向低依次为!->算术运算符->逻辑运算符->关系运算符->赋值运算符.

若有说明int c;则while(c=getchar());没有语法错误。

continue语句对于while和do-while循环来说,意味着转去计算While表达式.

for语句的循环体至少执行一次.

定义char s[9];gets(s);若键盘输入的字符串是Turbo c↙(↙代表按回车键操作),则键盘输入的字符最终输入给数组s中的字符个数是7.

对静态数组的初始化是在编译阶段完成的.

二维数组在内存中存贮时,是按列的顺序连续存贮各元素的值.

当变量的存储类型定义缺省时,系统默认为变量的存储类型为auto类型,分配在静态区.

没有初始化的数值型静态局部变量的初值是不确定的值.

变量根据其作用域的范围可以分作局部变量和全局变量.

若有 #define S(a,b) a*b 则语句 area=S(3,2); area的值为6。

定义 int a[ ]={1,2,3,4},y,*p=&a[1];,则执行y=(*--p)++后,y的值是2. typedef可以定义生成新的数据类型.

C语言中,在打开文件时,必须说明文件的使用方式,"wb+"只能用于文件的写.

参考答案:FTFFFTFTTFTTFFFTTFFF

设有int x=11,则表达式(x++ * 1/3)的值是_____。

输入整型变量a的值. int a; scanf("%d",_____);

设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为_____.

程序段int k=10; while(k=0) k=k-1;循环体语句执行_____次.

若有定义:char s[ ]="china"; 则C编译系统为数组s开辟_____个字节的内存单元. 在调用一个函数的过程中,直接或间接地调用该函数本身,称为函数的_____调用。在c程序中,只能给指针变量赋NULL值和_____值.

设有以下结构类型说明和变量定义,则变量a在内存所占字节数是 _____。

struct stud

{ char num[6];

float s[4];

double ave;

} a,*p;

参考答案:3 &a 1 0 6 递归地址

指针

30

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:编写函数fun(int m)求1000以内(不包括1000)所有m的倍数之和。------------------------------------------------*/

#define N 1000

#include "stdio.h"

int fun(int m)

{

/*********Begin**********/

/********** End **********/

}

main()

{

void TestFunc();

int sum;

sum=fun(7);

printf("%d以内所有%d的倍数之和为:%d\n",N,7,sum);

TestFunc();

}

void TestFunc()

{

FILE *OUT;

int o;

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("Write File Error");

}

o = fun(6);

fprintf(OUT,"%d\n",o);

fclose(OUT);

}

【参考代码】

int s=0,i;

for(i=1;i

if(i%m==0)

s+=i;

return s;

/*------------------------------------------------ 【程序设计】

-------------------------------------------------- 功能:编写函数求3!+6!+9!+12!+15!+18!+ …… + n!。------------------------------------------------*/ #include "stdio.h"

float sum(int n)

{

/*********Begin**********/

/********** End **********/

}

main()

{

void TestFunc();

printf("this sum=%e\n",sum(21)); TestFunc();

}

void TestFunc()

{

FILE *IN,*OUT;

int i;

float o;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Read File Error");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("Write File Error");

}

fscanf(IN,"%d",&i);

o=sum(i);

fprintf(OUT,"%f\n",o);

fclose(IN);

C语言试卷及答案

《C语言程序设计》考试试卷(答案) 一、填空题(每小空1分,共10分) 1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。 2.一个C程序有且仅有一个main( ) 函数。 3.C语言描述“x和y都大于或等于z”的表达式是x>=z && y>=z。 4.C语言可以用来实现循环的结构化语句是while、do while、for。 5.数组名表示数组在内存的首地址。 6.int a=3,*p=&a;*p+2的值是5。 二、单项选择题(每小题2分,共70分) 1.__B___是C语言合法的常量。 (A).45(B)078 (C)25.6e3.4 (D)‘xy’2.一个程序的执行是从 A 。 (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 (C)本程序的main函数开始,到本程序文件的最后一个函数结束。 (D)本程序文件的第一个函数开始,到main函数结束。 3.以下叙述正确的是 C 。 (A)在C程序中,main函数必须位于程序的最前面。 (B)C程序每行中只能写一条语句。 (C)C语言本是没有输入输出语句。 (D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。 4.以下叙述不正确的是 D 。 (A)逗号运算符的运算级最低。 (B)ABC和abc是两个不同的变量。 (C)若a和b类型相同,在执行a=b后,b的自身值不变。 (D)‘a’和“a”是完全等价的常量。 5.int x=3,y=2;则表达式x+=x*=y+8的值为 C 。 (A)28 (B)30 (C)60(D)17 6.设x=2.7,a=8,y=4.9,算术表达式x+a%3*(int)(x+y)%5/3的值为 B 。 (A)2.7 (B)3.7(C)4.7 (D)4.03 7.执行下面两个语句后,输出的结果为__D___。 char c1=98; printf(“%d %c”,c1,c1-32); (A)97 66 (B)98 b (C)b 66 (D)98 B 8.执行下面语句后的结果为 C 。 y=10;x=y++; (A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11(D)x=11,y=10 9.Char w;int x;float y;double z;则表达式w*x+z-y值的数据类型是A 。 (A)double (B)char (C)int (D)float 10.C语言中要求操作数必须是整数的运算符是 B 。

历年二级C语言笔试真题及答案

1 2009年9月全国计算机等级考试二级笔试 试卷 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) 可封装 B) 自顶向下 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)阅读以下程序 #include main() { int case; float printF; printf(“请输入2个数:”); scanf(“%d %f”,&case,&pjrintF); printf(“%d %f \n”,case,printF); } 该程序编译时产生错误,其出错原因是 A )定义语句出错,case 是关键字,不能 用作用户自定义标识符B )定义语句出错,printF 不能用作用户自定义标识符 C )定义语句无错,scanf 不能作为输入函 数使用 D )定义语句无错,printf 不能输出case 的值 14)表达式:(int)((double)9/2)-(9)%2的值是 A )0 B )3 C )4 D )5 15)若有定义语句:int x=10;,则表达式 x-=x+x 的值为 A )-20 B )-10 C )0 D )10 16)有以下程序 #include main() { int a=1,b=0; printf(“%d,”,b=a+b); printf(“%d \n”,a=2*b); } 程序运行后的输出结果是 A )0,0 B )1,0 C )3,2 D )1,2 17)设有定义:int a=1,b=2,c=3;,以下语 句中执行效果与其它三个不同的是 A )if(a>b) c=a,a=b,b=c; B )if(a>b) {c=a,a=b,b=c;} C ) if(a>b) c=a;a=b;b=c; D ) if(a>b) {c=a;a=b;b =c;} 18)有以下程序 #include main() { int c=0,k; for (k=1;k<3;k++) switch (k) {default: c+=k case 2: c++;break; case 4: c+=2;break; } printf(“%d \n”,c); } 程序运行后的输出结果是 A )3 B )5 C )7 D )9 19)以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是 A )if((a>b)&&(b>c)) k=1;else k=0; B )if((a>b)||(b>c) k=1;else k=0; C )if(a<=b) k=0;else if(b<=c) k=1; D )if(a>b) k=1;else if(b>c) k=1; else k=0; 20)有以下程序 #include main() { char s[]={“012xy”};int i,n=0; for(i=0;s[i]!=0;i++) if(s[i]>=?a?&&s[i]<=?z?) n++; printf(“%d \n”,n); } 程序运行后的输出结果是 A )0 B )2 C )3 D )5 21)有以下程序 #include main() { int n=2,k=0; while(k++&&n++>2); printf(“%d %d \n”,k,n); } 程序运行后的输出结果是 A )0 2 B )1 3 C )5 7 D )1 2 22)有以下定义语句,编译时会出现编译错误的是 A )char a=?a? B )char a=?\n?; C )char a=?aa?; D )char a=?\x2d?; 23)有以下程序 #include main() { char c1,c2; c1=?A?+?8?-…4?; c2=?A?+?8?-…5?; printf(“%c,%d \n”,c1,c2); } 已知字母A 的ASCII 码为65,程序运行后的输出结果是

c语言试题及答案

1、以下正确的说法是( B ) (A) 用户若需要调用标准库函数,调用前必须重新定义 (B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C) 系统根本不允许用户重新定义标准库函数 (D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2、以下正确的函数声明形式是( A ) (A) double fun(int x, int y) (B) double fun(int x; int y) (C) double fun(int x, int y); (D) double fun(int x,y); 3、以下正确的函数形式是( D ) (A) double fun(int x, int y) { z=x+y; return z;} (B) fun(int x,y) { int z; return z;} (C) fun(x,y) { int x,y; double z; z=x+y; return z;} (D) double fun(int x, int y) { double z; z=x+y; return z;} 4、以下正确的说法是( A ) 在C语言中 (A) 实参和与其对应的形参各占用独立的存储单元 (B) 实参和与其对应的形参共占用一个存储单元 (C) 只有当实参和与其对应的形参同名时才共占用存储单元 (D) 形参是虚拟的,不占用存储单元 5、若调用一个函数,且此函数中没有return语句,则正确的说法是( A ) 该函数 (A) 没有返回值 (B) 返回若干个系统默认值 (C) 能返回一个用户所希望的函数值 (D) 返回一个不确定的值 6、以下不正确的说法是( B ) C语言规定 (A) 实参可以是常量、变量和表达式 (B) 形参可以是常量、变量和表达式 (C) 实参可以为任意类型 (D) 形参应与其对应的实参类型一致 7、以下正确的说法是( C ) (A) 定义函数时,形参的类型说明可以放在函数体内 (B) return后边的值不能为表达式 (C) 如果函数值的类型与返回值类型不一致,以函数值类型为准 (D) 如果形参与实参的类型不一致,以实参类型为准 8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( B ) (A) 地址传递 (B) 单向值传递 (C) 由实参传给形参,再由形参传回给实参 (D) 由用户指定传递方式

C语言考试题库及答案复习整理

C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C 语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是 ________D____. A) true B) 非零值 C) 0 D) 1 5、C 语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC 码 D) ASCII 码 7、C 语言程序的基本单位是_____C______. A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句

a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 3 D) 不确定的值 12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是______A_____. #include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 13、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a

(完整版)C语言试题及答案解析

C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行

C语言期末考试题(含答案)

《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是() A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中() A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是() A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是() A )x1=26.8%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:floata=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(2 1 的计算结果不.相符的是() A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是() A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue 7.在while (!x )语句中的!x 与下面条件表达式等价的是() A)x!=0B)x==1C)x!=1D)x==0

8、有以下程序: #include voidmain(){ inti=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 9、有以下程序: #include voidmain(){ inti,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s);} 程序执行后的输出结果是() A)自然数1~9的累加和B)自然数1~10的累加和 C)自然数1~9中奇数之和D)自然数1~10中偶数之和 10、有以下函数定义: voidfun(intn,doublex){……} 若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()A)fun(inty,doublem); B)k=fun(10,12.5); C)fun(x,n);D)voidfun(n,x); 二、填空题(10x2’=20’) 11、C语言描述“x和y都大于或等于z”的表达式是:。 12、函数定义时涉及的基本要素是:、、。

C语言全部题目及答案

C语言全部题目及答案 SANY GROUP system office room 【SANYUA16H-

C语言全部题目及答案 Exercise 1: Programming Environment and Basic Input/Output 1.Write a program that prints “This is my first program!” on the screen. (a)Save this program onto your own disk with the name of e2-1a; (b)Run this program without opening Turbo C; (c)Modify this program to print “This is my second program!”, then save it as e2-1b. Please do not overwrite the first program. 2.Write a program that prints the number 1 to 4 on the same line. Write the program using the following methods: (a)Using four “printf” statements. (b)Using one “printf” statement with no conversion specifier(i.e. no ‘%’). (c)Using one “printf” statement with four conversion specifiers 3.(a) Write a program that calculates and displays the number of minutes in 15 days. (b) Write a program that calculates and displays how many hours 180 minutes equal to. (c) (Optional) How about 174 minutes?

大学C语言考试题库(含标准答案)

单项选择 ================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10 。printf("%d",a++) 。 A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A' 的ASCⅡ代码值是65, 字符变量c1的值是'A',c2 的值是'D'. 执行语句printf("%d,%d",c1,c2-2) 。后, 输出结果是 A、65,66 B、A,B C、 65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10] 。合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B 题号:45 能正确表示逻辑关系:" a ≥10或a≤0 " 的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0

D 题号:157 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",a,b) 。} 该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f 是实型,i 是双精度型,则表达式10+'a'+i*f 值的 数据类型为()。 A、不确定 B、double C、int D、 float 答案: B 题号:1647 以下程序中,while 循环的循环次数是______ main() { int i=0 。 while(i<10) { if(i<1) continue 。 if(i==5) break 。 i++ 。 } } A、死循环,不能确定次数 B、6 C、4 D、1

c语言试题及答案 ()

第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由

主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。

C语言期末考试题含答案

C语言期末考试题含答 案 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是( ) A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中( ) A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是( ) A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是( ) A )x1=%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:float a=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(21 的计算结果不. 相符的是( ) A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是( ) A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue

7.在while(!x)语句中的!x与下面条件表达式等价的是() A) x!=0 B) x==1 C) x!=1 D) x==0 8、有以下程序: #include <> void main(){ int i=1,j=1,k=2; if( (j++||k++)&&i++ ) printf(“%d,%d,%d\n”,i,j,k);} 执行后的输出结果是() A)1,1,2B)2,2,1C)2,2,2D)2,2,3 9、有以下程序: #include <> void main(){ int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s);} 程序执行后的输出结果是() A)自然数1~9的累加和B)自然数1~10的累加和 C)自然数1~9中奇数之和D)自然数1~10中偶数之和 10、有以下函数定义: void fun(int n,double x){……} 若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是() A)fun(int y,double m); B)k=fun(10,; C)fun(x,n); D)void fun(n,x); 二、填空题(10x2’=20’) 11、C语言描述“x和y都大于或等于z”的表达式是:。 12、函数定义时涉及的基本要素是:、、。

C语言上机作业试题5套含答案

第一次上机作业(2014): 要求: ?独立完成,上机调试通过后上交 ?作业提交邮箱: ?邮件主题命名:班级学号姓名(第1次作业), 例如:电1301班2王鹏(第1次作业) ?以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。 ?程序必须采用缩进格式 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g 2.求平方根 输入一个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of 17.0 is 4.1 3.温度转换 设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32) a)输入华氏温度(实型) b)输出的摄氏温度结果保留两位小数 例:Please input Fahrenheit temperature: 76.8 The corresponding Celsius temperature is 24.89 4. 计算旅途时间 输入二个整数time1 和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 (输入的有效的时间范围是0000 到2359,不需要考虑出发时间晚于到达时间的情况。) 例:输入712 1411 (出发时间是7:12,到达时间是14:11) 输出The train journey time is 6 hours 59 minutes. 5. 数字加密 输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。 例:输入1257 输出The encrypted number is 4601 思考题:你能否编程找出谁做的好事? 有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。 ?A说:不是我。 ?B说:是C。 ?C说:是D。 ?D说:他胡说。 已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。 第二次上机作业(2014): 要求: ?独立完成,程序必须采用缩进格式,上机调试通过后上交

C语言试题及答案

一、单项选择题 1. 软件危机具有下列表现( d )。 I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住 III. 软件常常不可维护IV. 软件成本逐年上升 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( A )。 A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段 3. 下列属于软件的特点的是(D )。 A. 软件是一种逻辑实体,具有抽象性 ~ B. 软件在使用过程中没有磨损、老化的问题 C. 软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高 D. 以上都正确 4. 软件工程的出现是由于(D )。 A. 软件危机的出现 B. 计算机硬件技术的发展 C. 软件社会化的需要 D. 计算机软件技术的发展 5. 软件开发技术不包含( d )。 A. 软件开发方法学 B. 软件工程环境 C. 软件工具 D. 软件质量度度量 6. 软件工程的课程特点( D )。 【 I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 7. 下列属于应用软件的是( b )。 I. 计算机辅助教学软件II. 软件测试工具 III. 办公自动化软件IV. 工程与科学计算软件

A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( b )。 - A. 设计说明书 B. 需求规格说明书 C. 可行性分析报告 D. 用户手册 9. 以下关于数据流图的说法错误的是( c )。 A. 数据流图舍去了具体的物质,只剩下数据的流动、加工处理和存储 B. 数据流图是用作结构化分析的一种工具 C. 传统的数据流图中主要由加工、数据源点/终点、数据流、控制流、数据存储组成 D. 数据流图的绘制采用自上向下、逐层分解的方法 10. 数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( c )。 A. 数据库设计 B. 数据通信 C. 数据定义 D. 数据维护 11. 需求分析阶段的研究对象是( b )。 ¥ A. 系统分析员要求 B. 用户要求 C. 软硬件要求 D. 系统要求 12. 结构化方法的基本原则是( b )。 A. 模块化 B. 抽象与分解 C. 信息隐蔽 D. 逐步求精 13. 耦合度最高的是(b)耦合。 A. 环境 B. 内容 C. 控制 D. 数据 14. 内聚程度较低的是( a )内聚。 A. 偶然 B. 通讯 C. 顺序 D. 时间 15. 对一个程序来说,组成系统的模块数目( b ),则开发成本越小。 A. 越多 B. 越少 C. 顺序 D. 时间> 16. 画软件结构图时应注意调用关系只能是(B )。 A. 从下到上 B. 从上到下 C. 从左到右 D. 从右到左 17. 程序流程图中的箭头代表( b )。 A. 数据流 B. 控制流 C. 顺序流 D. 调用 18. 软件测试是软件质量保证的重要手段,下述( B )是软件测试的最基础环节。

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语言试题及答案

C语言试题及答案 Company number【1089WT-1898YT-1W8CB-9UUT-92108】

第1章C语言概述习题1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成

C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言 的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。

C语言期末上机考试题及答案

C语言上机考试题—01 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include main() { int k,m,s=0,i,b=0; for(k=10000;k<=20000;k++ ) { if(k%10==7) { for(i=2,b=0;i main() { int a; printf("请输入一个需要判 断的年份:\n"); scanf("%d",&a); if(a%4==0&&a%100!=0) printf("是闰年\n"); else if(a%400==0) printf("是闰年 \n"); else printf("不是闰 年\n"); } C语言上机考试题—02 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include fun(int n) { int i,j=0; for(i=2;i #include main() { char str[81]; int i,j=0,w=1,s=0; printf("请输入一串字符: \n"); gets(str); for(i=0;i

C语言考试题及答案

一、单项选择题:(10分,每题2分) 1.char *p[10];该语句声明了一个: c 。 A)指向含有10个元素的一维字符型数组的指针变量p B)指向长度不超过10的字符串的指针变量p C)有10个元素的指针数组p,每个元素可以指向一个字符串 D) 有10个元素的指针数组p,每个元素存放一个字符串 2.若int x;且有下面的程序片断,则输出结果为: D 。 for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "**%d\n", x); } A) ##3B) **3C) **3D)##3**4 **4 ##4 ##4**5 ##5 ##5 **5 3.在while(!x)语句中的!x与下面条件表达式等价的是:D 。 A) x!=0 B) x==1 C) x!=1 D) x==0 4.已知 struct point { int x; int y; }; struct rect { struct point pt1; struct point pt2; }; struct rect rt; struct rect *rp = &rt; 则下面哪一种引用是不正确的__D______。 A) r t.pt1.x B) (*rp).pt1.x C) r p->pt1.x D) rt->pt1.x 5.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为: C 。 A) *(a+j*n+i) B) *(a+i*n+j) C) *(*(a+i)+j) D) *(*a+i)+j CDDDC 二、分析程序并写出运行结果。(25分,每题5分) 1. #include main()

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