C语言试题及答案(3)

C语言试题及答案(3)


2024年5月4日发(作者:)

1楼

单项选择题

1.I/O设备指的是计算机的( )

A、存储设备 B、输入和输出设备 C、控制器 D、运算器

2. 退出Turbo C 2.0返回系统,在主菜单File项中可选择( )

A. Load B. New C. Save D. Quit

3.C语言源程序的基本单位是( )

A、过程 B、函数 C、子程序 D、语句

4.字符串常数"CHINA"在内存中存储时占的字节数是( )

A、5个 B、6个 C、7个 D、8个

5.如果a=1,b=2,c=3,d=4,则表达式a>b?a:c

A、1 B、2 C、3 D、4

6.下面程序段的运行结果是( )

main( )

{int a=11,b=10;

a-=b+1;

printf("%dn",a);

}

A、1 B、0 C、2 D、5

7、下列语句中,符合语法的赋值语句是 。( )

A)a=7+b+c=a+7; B)a=7+b++=a+7;

C)a=(7+b,b++,a+7); D)a=7+b,c=a+7;

8、为了计算s=10!(即10的阶乘),则s变量应定义为 。( )

A)int B)unsigned C)long D)以上三种类型均可

9.下面 是错误的if语句(设int x,a,b;)( )

A)if (a=b) x++; B)if (a=

C)if (a-b) x++; D)if ( x ) x++;

10.若有说明语句int i=5,j=4,k=6;float f;则执行f=(i

( )。

A)4.0 B)5.0 C)6.0 D)7.0

11.下列程序段执行后输出结果为( )

int i=-1;

if(i<=0)printf("****n");

else printf("%%%%n");

A、****C B、%%%% C、%%%%C D、****

12.若所用变量已正确地定义,则下列程序段输出结果为(

a=10;b=50;c=30;

if(a>b)a=b

b=c;c=a;

printf("a=%d,b=%d,c=%dn",a,b,c);

A、a=10,b=50,c=10 B、a=10,b=30,c=10

C、a=50,b=30,c=10 D、a=50,b=3,c=50

13.下述循环的循环次数是( )

int k=2;

while(k=0)printf("%d",k);

k--;printf("n")

A、无限次 B、0次 C、1次 D、2次

2010-6-7 13:34

回复

2楼

14.在下列选项

中,没有构成死

循环的程序段是

( )

A、int i=100;

while(1)

{i=i 0+1;

if(i>100)break;

125.39.173.*

}

B、for(;;)

C、int k=1000;

do(++k;) wh

ile(k>=10000);

D、int s=36;

while(s);--s;

15.下面说法不

正确的是( )

A、一个源程序

文件由一个或多

个函数组成。

B、一个C程序

由一个或多个源

程序文件组成。

C、一个C程序

以函数为独立的

编译单位。

D、一个C程序

必须有一个mai

n()函数。

16. 退出Turbo

C 2.0返回系

统,在主菜单Fi

le项中可选择

( )

A. Load

B. New

C. Save

D. Quit

17. 若有下列程

序段,欲使a=2、

b=3,对应正确的

数据输入方法是

( )

int a, b;

scanf(〃a=%d

b=%d〃,&a, &

b);

A. 2 B.

a=2 b=3

3

C. a=2, b=

3 D. 2,3、

18、 不合法的字

符常量是( )

A) ‘012’ B)

‘084’ C)

‘a’ D)’t’

19、在C语言中,

字符型数据在内

存中以 形式

存放。( )

A)原码 B)

BCD码 C)反

码 D)ASCII

20. 以下不是死

循环的程序段是

。( )

A) int i=10

0;

B)for ( ; ; ) ;

while (1)

{

i=i%100+1 ;

if (i>100) break

;

}

C) int k=

0;

D)int s=36;

do { ++k; } w

hile (k>=

0); whil

e (s) ; --s ;

21. 下面程序段

的输出结果是 。

( )

char c[5]={‘a’,’

b’,’0’,’c’,’0’}

printf(“%s”,c);

A)’a’’b’ B)

ab C)ab

c D)abc

22. 在C语言

中,引用数组元

素时,其数组下

标的数据类型允

许是( )。

A)整型常量

B)整型表达式

C)整形常量或

整形表达式

C)任何类型的

表达式

23.判断字符串a

是否大于b,应

当使用 。( )

A)if (a>

b) B)if

(strcmp(a,b))

2010-6-7 13:34

回复

125.39.173.*

C)if (strcmp(b,

a)>0) D)if (s

trcmp(a,b)>0)

填空题

1.C程序是

由 构成的,

一个C程序中至

少包含 。因

此, 是C程

序的基本单位。

3楼

处理输入数据时,遇到下列情况时该数据认为结束:(1) ,

(2) ,(3) 。

3.C语言提供三种逻辑运算符,按优先级高低它们分别

是 , , 。

4.将条件“y能被4整除但不能被100整除,或y能被400整除”写成

逻辑表达式 。

5.已知A=7.5,B=2,C=3.6,表达式A>B && C>A || AB的

值是 。

6.C语言三个循环语句分别是 语句, 语句和 语句。

7.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]

的值为 ,a[2][1]得到的值为 。

8.C语言函数返回类型的默认定义类型是 。

9.C语言变量的存储类别有 , , 和 。

10.C语言变量按其作用域分为 和 。按其生存期分为

和 。

11.组成C程序的基本单位是____________。

r()函数的功能是____________。

13.当s=7时,执行以下程序段后x=____________。

if((s>0)&&(s<=10))

if((s>=3)&&(s<=6))x=2;

else if((s>1)||(s>8))x=3;

else x=1;

else x=0;

14.进制转换:136D=____________B=__________Q=__________

H

15.在C语言中(以16位PC机为例),一个char数据在内存中所

占字节数为 ,其数值范围为 ;一个int数据在内存中所占字节

数为 ,其数值范围为 ;一个long数据在内存中所占字节数

为 ,其数值范围为 。

16. C语言本身不提供输入输出语句,其输入输出操作是由 来

实现的。

17. 设x,y,z均为int型变量;写出描述“x,y和z中有两个为负数”的C

语言表达式: 。

18. %运算符要求运算数必须是

19.设int a; float f; double i ;则表达式10+’a’+i*f值的数据类型

是 。

2010-6-7 13:34

回复

125.39.173.* 4楼

20. ‘a’和“a”的区别是,前者是 后者是

程序阅读题

1.阅读下列程序,写出运作结果:

main()

{int a=100,b=-1;

printf("a=%d,%xn",a,a);

printf("b=%x,%un",b,b);}

2.阅读下面程序,写出运行结果:

main()

{ int x,a=0,b=0;

x=3;

switch(x)

{ case1:a++;b++;

case2:++a;++b;

case3:a+=3;b+=1;

case4:a+=b;

}

printf(〃a=%d,b=%d

〃,a,b);

}

3.写出以下程序的输出结果。

main ( )

{ int y=3,x=3,z=1;

printf(“%d %dn”,(++x,y++),z+2);

}

4.写出下面程序运行的结果。

main ( )

{ int i,j,k=19;

while (i=k-1) {

k-=3 ;

if (k%5==0) { i++ ; continue ; }

else if (k<5) break ;

i++;

}

printf(“i=%d,k=%dn”,i,k);

}

5.写出下面程序的运行结果。

main ( )

{ int a[6][6],i,j ;

for (i=1; i<6 ; i++)

for (j=1 ; j<6 ; j++)

a[i][j]=(i/j)*(j/i) ;

for (i=1;i<6 ; i++) {

for (j=1 ; j<6 ; j++)

printf(“%2d”,a[i][j]) ;

2010-6-7 13:34

回复

125.39.173.*

printf(“n”);

}

}

6.写出下面程序的功能。

func (int n)

{ int i,j,k;

i=n/100; j=n/10-i*10 ; k=n%10 ;

if (i*100+j*10+k) == i*i*i+j*j*j+k*k*k) return n ;

return 0;

}

main ( )

{ int n,k ;

for (n=100; n<1000 ; n++)

if (k=func(n)) printf(“%d”,k) ;

}

7. 写出以下程序的输出结果。

main ( )

{ int a=12345;

float b=-198.345, c=6.5;

printf(“a=%4d,b=%-10.2e,c=%6.2fn”,a,b,c);

}

5楼

8. 写出下面程序运行的结果。

2010-6-7 13:34

回复

main ( )

{ int a=10,y=0 ;

do {

a+=2 ; y+=a ;

if (y>50) break ;

} while (a=14) ;

printf(“a=%d y=%dn”,a,y) ;

}

9. 写出下面程序的运行结果。

main ( )

{ int i=0;

char a[ ]=”abm”, b[ ]=”aqid”, c[10];

while (a[i]!=’0’ && b[i]!=’0’) {

if (a[i]>=b[i]) c[i]=a[i]-32 ;

else c[i]=b[i]-32 ;

i++;

}

c[i]=’0’;

puts(c);

}

}

程序填空题

1.以下程序输出x,y,z三个数中的最小值,请填(2)空使程序完整。

main ( )

{ int x=4,y=5,z=8 ;

int u,v;

125.39.173.* 6楼

u = x

v = u

printf (“%d”,v);

}

函数的作用是计算数组array的平均值返回,请填(3)空使程序

完整。

float avg(float array[10])

{ int i ;

float avgr , sum=0 ;

for (i=1; 【1 】; i++)

sum+=【2 】;

avgr = sum / 10 ;

【3 】;

1. 下列程序的输出结果是16.00,请填(1)空使程序完整。

main ( )

{ int a=9,b=2;

float x=【1 】 , y=1.1 , z;

z=a/2+b*x/y+1/2;

printf(“%5.2fn”,z);

}

2. 以下程序是将字符串b的内容连接字符数组a的内容后面,形成

新字符串a,请填(2)空使程序完整。

main ( )

{ char a[40]=”Great ”, b[ ]=”Wall”;

int i=0,j=0 ;

while (a[i]!=’0’) i++ ;

while (【1 】) {

a[i]=b[j] ; i++ ; j++ ;

}

【2 】;

printf(“%sn”,a);

}

编程题

1.给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。90

分以上为’A’,80-89分为’B’,70-79分为’C’,60-69分为’D’,

60分以下为’E’。

2.输入两个正整数m和n,求其最大公约数和最小公倍数。

3.输入四个整数,要求按由大到小的顺序输出。

4.用选择排序法对10个整数排序。(要求:用函数,数组)

5.使用循环结构编程打印如下图形:

*

* * *

* * * * *

* * * * * * *

* * * * * * * * *

c语言考试题(一)

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

1、以下选项中属于C语言的数据类型是( )

A.复数型 B.逻辑型 C.集合型 D.双精度型

2、一个C程序的执行是从( )

A.main()函数开始,直到main()函数结束 B.第一个函数开始,

直到最后一个函数结束

C.第一个语句开始,直到最后一个语句结束 D.main()函数开

始,直到最后一个函数结束

3、设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是

( )

A.3 B.0 C.-12 D.9

4、若有 char c[5]={'c','d','0','e','0'};则执行语句printf("%s",c);

结果是( )。

A.cd0e B.'c''d' C.cd D.cd e

5、已知:int a[2][3]={1,2,3,4,5,6}, (*p)[3]=a;则下列表达式不是4

的是 ( )。

A.*(*p+3) B.*p+3 C.*(*(p+0)+3) D.a[0][3]

6、以下有宏替换不正确的叙述( ).

A.宏替换不占用运行时间 B.宏名无类型

C.宏替换只是字符串替换 D.宏名必须用大写字母表示

7、执行char str[10]=”Chnina”; strlen(str)的值是( )

A.5 B.6 C.7 D.9

8、下面程序的输出结果是:( )

#define POWER(x) (x*x)

main()

{int i=4; printf("%d",POWER(i-2)); }

A. -9 B. -7 C. 5 D. -6

9、在定义int a[3][4][2];后,第10个元素是( )

A.a[2][1][2] B.a[1][0][1] C.a[2][0][1] D.a[2][2][1]

10、下面程序的输出结果是:( )

typedef struct

{long x[2];

short y[4];

char z[8];

}MYTYPE;

MYTYPE a;

main()

{ printf("%dn",sizeof(a));}

A. 2 B. 8 C. 14 D. 24

二、 填空题(每空1分,共11分)

1、字符串"A"在内存中占用的字节数为 。

2、C语言中的标识符只能由字母、下划线和 组成。

3、若有定义语句“ int a=25,b=14,c=19;",以下语句的执行结果是

if(a++<=25&&b--<=2&&c++)

printf("***a=%d,b=%d,c=%dn",a,b,c);

else printf("###a=%d,b=%d,c=%dn",a,b,c);

4、有如下定义a[]="B172'a%%";则执行语句

printf("%d",strlen(a));的结果为 。

5、若有定义:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i;

for(i=0;i<4;i++) p[i]=&a[i*3];则*(*(p+1)+2)的值为 ,*p[2]的值

为 。若数组的首地址为2000,则p[1]指向的地址为 。

6、设a=2,b=3,x=3.5,y=2.5,则表达式

(float)(a+b)/2+(int)x%(int)y 的结果是 。

7、设x、y都是int型变量,初值都为1,则执行表达式:--x&&y++

后,y的值为 。

8、语句for(i=1;i==10;i++)continue;循环的次数是 。

9、以下程序输出 。

main()

{enum em {em1=3,em2=1,em3};

char *aa[]={"AA","BB","CC","DD"};

printf("%s%s%sn",aa[em1],aa[em2],aa[em3]);

}

三、 写程序结果(每题5分,共35分)

1、#include

main()

{int x,y,z;

x=1,y=2,z=3; x+=y+=z;

printf("1:%dn",z+=x>y?x++:y++);

x=0x02ff;y=0xff00;

printf("2:%dn",(x&y)>>4|0x005f);

x=y=z=-1; ++x||++y&&++z;

printf("3:%d,%d,%dn",x,y,z);

}

2、#define f(x) x*x

main()

{int a=6,b=2,c;

c=f(a+b)/f(b);

printf(“%dn”,c);

}

3、fun(int k)

{ printf("%d",k);

if(k>0)

fun(k-1);

}

main( )

{ int w=5; fun(w); printf("n"); }

4、#include

main()

{int x=1,y=0;

switch(x)

{ case 1:

switch(y)

{ case 0:printf(“firstn”);break;

case 1:printf(“secondn”);break;

}

case 2:printf(“thirdn”);

}

}

5、#include

main()

{ int k=4;

func(k); func(k);

}

func(int a)

{ static int m=0;

m+=a;

printf("%d",m);

}

6、struct st

{ int x;

int *y;

}*p;

int s[]={30,20};

struct st a[]={1,&s[0],2,&s[1]};

main()

{ p=a; printf("%d,",p->x);

printf("%dn",++(*(++p)->y));

}

7、假定在当前盘目录下有2个文本文件,其名称和内容如下:

文件名:

内容: ABCDEF# abcdef#

#include "stdio.h"

main()

{FILE *fp;

void fc();

if((fp=fopen("","r"))==NULL)

{printf("Can not open file!n"); exit(1);}

else{fc(fp);fclose(fp);}

if((fp=fopen("","r"))==NULL)

{printf("Can not open file!n"); exit(1);}

else{fc(fp);fclose(fp);}

}

void fc(fp1)

FILE *fp1;

{char c;

while((c=fgetc(fp1))!='#')putchar(c);

}

四、 程序填空(每空2分,共14分)

1、下面程序求矩阵a的主对角线元素之和,请填空。

main()

{ int a[3][3]={2,4,6,8,10,12,14,16,18};

int sum=0,i,j;

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

for(j=0; ② ;j++)

if(i= =j) sum=sum+ ③ ;

printf("sum=%dn",sum);

}

2、下列函数coy把字符数组S2中的全部字符复制到字符数组

S1中, 复制时’0’也要复制过去,’0’后面的字符不用。

coy(char s1[],char s2[])

{ int i;

for(i=0;s2[i]!= ① ;i++)

s1[i]=s2[i];

② ;

}

3、下面程序的功能是将字符串a中的下标为奇数的元素由小到大

排序,其他元素不变,请填空。

main()

{ char a[]="students",t; int i,j;

for(i=1;i<7;i+=2)

for(j=i+2;j<8; ① )

if( ② )

{t=a[i];a[i]=a[j];a[j]=t;}

puts(a);

}

************************************************************************

**********************************************************************

分 割 线

************************************************************************

**********************************************************************

c语言考试题(二)

一. 填空题(每题2分,共20分)

1. C语言基本数据类型有:

_______________________________;

构造类型有:_____________________________________。

P.13

2. C语言源程序注注释符号是:

________________________________,

为表明层次结构,C语言源程序通常采用

_____________________格式编写。P.4

3. 源程序TEST.C经编译产生的目标文件是:

________________________;

经连接处理后,产生的可执行文件是:

__________________________。

4. strlen(“1234 0xy)的值

为:_____________________________;

sizeof(float)的值为:____________________________

5. 二维数组a[10] [50]最后一行的首地址为:

_________________________;

最后一个元素的首地址为:

____________________________________。

6. C标准库函数中,数学函数的原型在:________________

头文件中,自定义头文件D : MYC MY . H应如何包含到源程

序文件中:_________________________。P.130

7. 已知函数定义为:int stat(int a,float *p)

{……………}

则此函数的两个参数类型分别是_______________ 、

_____________________。

8. 设int x,y,z=4;

x=y=++z;

x=(y>z)?x+2;x++;则x的值是:_________;

设int a=0,b=0,c=0;c=++a | | b++; ,则a、b、c值分

别是:_____________。

9. 与if (x=0) 等价的写法是if ( ! x );

判断两个(float)变量x,z是否相等一般:if ( fabc(x-z)<1e-6 )。

10.已知赋值语句=1985;可判断zhang是

_______________类型的变量;

定义文件指针的C语句是:

_________________________________。

二. 单项选择题 (每题1分,共10分)

1. 组成C程序的基本单位是

____________________________。

A.函数 B.标识符 C.表达式 D.语句

2. 设int类型的数据长度为2字节,则该类型数据的取值范围

是__________________。

A.0至65536 B.0至65535

C.-32767至32768 D.-32768至32767

3. 在C语言中,逻辑值“真”是用_____________________表

示的。

A.预定义为真值的宏 B.非零数

C.正数 D.非零整数

4. C语言对于嵌套if语句规定else总是与

_____________________匹配。

A.与最外层的if B.与之前最近的if

C.与之前最近的不带else的if D.与最近的{ }之前的if

5. 数组定义char a[10]={`a`,`b`,`c`}:包括了几个元素

____________________。

A.3 B.9 C.4 D.10

6. 数组名作为实参传给被调用的函数时,形参获得的是

_____________________。

A.该数组第一个元素的值 B.该数组所有元素的值

C.该数组第一个元素的首地址 D.该数组所有元素的首地址

7. 为表示关系x ≥ y ≥z,正确的C语言表达式为

_________________________。

A.(x>=>y>=z) B.(x>=y)AND(y>=z)

C.(x>=y)&&(y>=z) D.(x>y)&(y>=z)

8. 根据定义int a[ ]={1,2,3},i,*p=a; 从语法分析

_________________是不正确的。

A. a[p-a] B.*(&a) C.p D.*(*(a+i))

9. 若有语句scanf(“%d%d”,&a,&b);要使变量a,b分

别得到12和34;正确的输入形式为

____________________________。

A.12 34 B.12,34 C.1234 D.12:34

10.union uex {int i;float f;char c;}ex;则sizeof(ex)的

值是____________________。

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

三. 分析程序,写出运行结果。(每题4分,共20分)

1. 源程序如下,运行时假定键盘输入字符串为``2004``

#include

void main(void)

{

int n=0;

char c;

while( (c=getchar( )) ! =`n` ) /*字符型数字*/

{

if (c>=`0`&&c<=`9` )

n = n*10 + c- `0` ; /*数字*/

}

printf(“value=%d|n” ,n);

}

结果为: value=2004 。

2. 源程序如下:

#include

void main(void)

{

int num[9]={399,398,397,396,395,299,290,311,301};

int score[9]={81,85,59,77,90,66,89,93,73};

int iMax,iPos,i;

iPos=0;

iMax=score[iPos];

for(i=1;i<9;i++)

if(score>iMax)

{

iPos=i;

iMax=score[iPox];

}

printf(“num=%d,score=%d”,num[iPos];score[iPos]);

结果为: num=311, score=93 。

3. 源程序如下,运行时假定键盘输入数据为:1 2 3 4 5 6 7 8 9

10

#include

void main(void)

{

int i,a[10];

int *p;

p=a;

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

scanf(“%d“,p++);

for(p=a;p< SPAN>;p++)

if (*p%2)printf(“%3d”,*p);

}

结果为: 1 3 5 7 9 。

4. 源程序如下,两次运行,分别输入数据13和21

#include

#include

void main(void)

{

int n,s;

scant (“%d”,&n);

s=panduan( n);

if(s==1)printf(“yesn”);

else printf(“non);

}

int panduan(int n)

{

int k,j;

k=(int)sqrt((double)n);

for(j=2;j<=k,j++)

{

if(n%j==0) break;

}

if(j>k) retum(1);

else retum(0);

}

结果为 yes

no

5.源程序如下,运行时假定键盘输入字符为:AxByCz

#include

#include

void main(void)

{

char str[80];

int i;

gets(str);

for(i=0;str!=`0`;i++)

if(str>=`a`&&str<=`z`) str-=32;

else if (str>=`A`&&str<=`Z`) str+=32;

puts(str);

}

结果为: aXbYcZ 。

四. 下列程序中每个划线处有一个错误,改正划线 中的错误,

使其实现题目要求。(每体4分,共20分)

1. 求 s=1+2+3+、、、、、、、+100

include 改正为_________________________。

void sum (void) 改正为_________________________。

{

int s,i;

for (s=0,i=1;i<=100;i++)

{

s=s+ i ++; 改正为__________________________。

}

printf (“s=%f”,s) 改正为__________________________。

}

2. 源程序实现求x

#include

double pow(float . int) 改正为_________________________。

void main(void)

{

int i, n;

float x;

scanf (“%f,%d”,&x,&n);

for (i=1; i<9;i++)

printf(“%d,%en”, i, pow(i,x);

} 改正为______________________。

double v v pow(float x, int n)

{

int i;

double p=0; 改正为______________________。

for (i=1; i< i++)>改正为_______________________。

p*=x;

retum(p);

}

3. 源程序实现排升序。

#include

void main(void)

{

int i, j, iMin, a[10]={4,3,5,1,10,12,2,6,7,9}, iTemp;

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

{

iMin=0; 改正为_______________________。

for (j=i+1; j<10;j++)

if(a[iMin]< iMin="j;">改正为_______________________。

if (iMin==i) 改正为_________________________。

{ iTemp=a;

a[iMin]=a; 改正为_________________________。

a[iMin]=iTemp;

}

}

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

printf(“%4d”, a):

}

4. 源程序为求平均值。

#include

void main(void)

{

int i, sum; 改正为____________________。

float avg;

int sc[10], *p=sc;

for (i=0, i<10; i++) 改正为____________________。

{

scanf(“%d”, p++);

sum+= *p; 改正为____________________。

}

avg = sum/ 10; 改正为___________________。

printf(“avg=%f”, avg);

}

5. 源程序求 eX=1+x+x2/2!+……+xn/n!前n+1项之和

#include

void main(void>

{

float exp , x , t;

int i, n;

scanf(“%f, %d”,&x, &n);

t=0; 改正为___________________。

exp=1.0;

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

{

if(t<1e-6) loop; 改正为__________________。

t+=x/i; 改正为___________________。

exp*=t; 改正为___________________。

}

printf(“n%15.6f”, exp);

}

五. 编程题 (每题6分,共30分)

1. 根据以下程序框架,编写子函数,实现交换两个整型变量x

和y的值。

#include

void swap (int *, int *);

void main (void)

{

int x, y;

scanf(“%d, %d”, &x, &y);

swap( &x, &y);

printf(“%d, %d”, x, y);

}

void swap( )

{

}

2. 设某班人数36人,参加C语言考试,用一维数组score[36]

存放考试成绩,已给出一部分程序,完善以下程序,使其实现统

计并输出不及格人数及百分比。

#include

void main (void)

{ int i;

float scoer[36], precent;

int count=0;

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

{

scanf(“%f”, &score);

}

3. 完善以下程序使其实现由键盘任意输入一串字符,统计其中

大写字母个数iA、小写字母个数ia、其他字符个数iother。

#include

#include

void main (void)

{

char str [80];

int i, iA=0, ia=0, iother=0;

}

4. 完善以下程序使其实现求方阵主和辅对角线元素之和及其转

置矩阵,设方阵用二维数组a表示,转置矩阵用t表示,sl和s2

表示主和辅对角线元素之和。

#include

void main(void)

{

int a[3] [3]={1,3,5,7,9,11,13,15,11};

int i, j, s1, s2;

int t[3] [3];

printf(“%d, %d,n”,s1, s2);

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

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

printf(“%3d”, t [j]);

}

5. 已知字符数组str[80],编写返回指针的子函数,实现在其中

查找字符ch首次出现的位置。

#include

#include

#include

char *lstrchar(char*, char);

void main(void)

{

char c, *p, str[80];

gets (str);

scanf(“%c”, &c);

p=lstrchar(str,c);

if(p==NULL) printf(“char %c not foundn”c);

else printf(“The position is %d”, p-str);

char “lstrchar( )

{ }

************************************************************************

************************************************************************

*********************

无 辜 的 分 割

线

************************************************************************

************************************************************************

*********************

************************************************************************

************************************************************************

******************************************************

可 爱 的 分 割

线

************************************************************************

************************************************************************

*******************************************************

搜刮的试题

一。单项选择题

1.线性表的长度定义是_____

a.线性表所有元素所占字节数

b.线性表所有元素的个数

c.由线性表的不同而有不同定义

d.以上均不对

2._______ 能管理计算机系统资源,并使用户能方便高效地使用

这些资源。

a.操作系统

b.数据库

c.编辑软件

d.应用软件

3.计算机系统中除________以外的硬件设备统称为“外部设备”。

b.主存储器

c.主机

d.存储器

4.对容量大的计算器常以mb为单位表示存储器的容量,1mb 等

于________。

a.1048576字节

b.1000kb字节

c.1024000字节

d.1000000字节

工作站shell分为________,初始化两部分。

a.上位内存

b.上位内存和高位内存

c.扩展内存和常规内存

d.常驻内存

答案:bacad

单项选择题

1.表达式:10!=9的值是()

a)true

b)非零值

c)0

d)1

2.在c语言中,运算对象必须是整型数的运算符是()

a)%

b)

c)%和

d)**

3.设a为整型变量,不能正确表达数学关系:10 a)10

b)a==11||a==12||a==13||a==14

c)a>10&.&.a<15

d)!(a<=10=&.&.!(a>=15

4.若t为double类型,表达式t=1、t5,t的值应是()

a)1

b)6.0

c)2.0

d)1.0

5.若有以下说明和语句:int,a=5,a,此处表达式a的值是()

a)7

b)6

c)5

d)4

答案:daadc

项选择题

1.请选出可用作c语言用户标识符的一组标识符()

a)void,define,word

b)a3_b3,_123,if

c)for,——abc,case

d)2a,do,sizeof

2.c语言中最简单的数字类型包括()

a)整型、实型、逻辑型

b)整型、实型、字符型

c)整型、字符型、逻辑型

d)整型、实型、逻辑型、字符型

3.c语言提供的合法的数据类型关键字是()

a)double

b)short

c)integer

d)char

4.c语言中合法的字符常量是()

a)’084’

b)’x43’

c)’ab’

d)“0”

5.若已定义x和y为double型,则表达式:x=1,y=x3/2的值是

()

a)1

b)2

c)2.0

d)2.5

答案:bbbbc

历年全国计算机二级考试c语言真题及答案

/UploadFiles/

来自: /dearbaoping/blog/item/d4c409ade28e320b4b36d6f0


发布者:admin,转转请注明出处:http://www.yc00.com/web/1714814467a2521175.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信