大一c语言考试试题

更新时间:2024-01-26 22:38:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

试卷一(参考答案在后面!)

1,有以下程序

#include

void f(int a[],int i,int j) { int t; if(i<j)

{ t=a[i]; a[i]=a[j];a[j]=t; f(a,i+1,j-1); } }

void main( )

{ int i,aa[5]={1,2,3,4,5}; f(aa,0,4);

for(i=0;i<5;i++) printf(\}

执行后输出结果是

A)5,4,3,2,1, B)5,2,3,4,1 C)1,2,3,4,5, D)1,2,3,4,5

2,下面程序的输出结果是 ( ) #include void main( )

{ int x=2,y=1;

void f(int x,int y); f(x,y);

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

void f(int x,int y) { y=x+y; x=x-y; }

A)3,1 B)2,1 C)1,3 D)1,2

3,以下程序的输出结果是 。 # include <stdio.h> void main()

{ int k=4,m=1,p;

p=func(k,m); printf(\ p=func(k,m); printf(\}

int a,b; func(a,b)

{ static int m=0,i=2;

i+=m+1; m=i+a+b; return(m); }

A) 8,17 B) 8,16 C) 8,20 D) 8,8

4,以下()是不正确的转义字符。

A.'\\\\' B.'\\' C.'081' D.'\\0'

5,在C语言中,int,char,和short三种类型数据所占用的内存 A.均为2个字节 B.由用户自己定义 C.由所用机器的机器字长决定 D.是任意的

6,有以下程序 main( ) {

int x=102,y=012;

printf(\} 执行后输出结果是

A)10,012 B)102,12 C)102,10 D)0102,10

7,下列程序的输出结果是 main( )

{ double d=3.2; int x,y;

x=1.2; y=(x+3.8)/5.0; printf(\\n\); } A)3 B)3.2 C)0 D)3.07

8,已知 int a; 那么 ﹠a表示

(A)变量名 (B)变量a的地址 (C)变量a的值 (D)其他

9,以下程序段中与语句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;

10,当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为 A) 1 B) 2 C) 3 D) 6  if(a〈b)

 if(c〈d) x=1;  else  if(a〈c)

 if(b〈d) x=2;  else x=3;  else x=6;

11,以下错误的if语句是 。 A) if(x〉y) z=x; B) if(x==y) z=0;

C) if(x!=y) printf(\D) if(x〈y) { x++;y--;}

12,有以下程序 main()

{ int i=10;

printf(\}

执行后输出结果是 A. 9 B. 10

C. 11 D. 8 

13,若x,i,j和k都是int型变量,则计算表达式x=(i=14,j=16,k=j)后,x的值为 A. 14 B. 16

C. 30 D. 56

14,设有以下程序段 int x=0,s=0;

while(!x!=0)s+=++x; printf(\); 则

A. 运行程序段后输出0 B. 运行程序段后输出1

C. 程序段中的控制表达式是非法的 D. 程序段执行无限次

15,以下程序执行后输出结果是________。 int i;

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

{ case 1: printf(\ case 2: printf(\ default: printf(\}

A) 011122 B) 012 C) 012020 D) 120

16,若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段_________。 A)for(i=1,p=1;i<=5;i++) p*=i; B)for(i=1;i<=5;i++){ p=1; p*=i;} C)i=1;p=1;while(i<=5){p*=i; i++;}

D)i=1;p=1;do{p*=i; i++; }while(i<=5);

17,以下叙述不正确的是

A. 一个C源程序可由一个或多个函数组成 B. 一个C源程序必须包含一个main函数 C. C程序的基本组成单位是函数

D. 在C程序中,注释说明只能位于一条语句的后面

18以下叙述不正确的是_________。 A. 分号是C语言的必要组成部分 B. C程序的注释可以写在句的后面 C. 函数是C程序的基本单位

D. 主函数的名字不一定用main表示

19,源程序要正确地运行,必须要有什么函数? A. printf函数 B. 自定义的函数 C. main函数 D. 不需要函数

20,不能把字符串:Hello!赋给数组b的语句是 A.char b[10]={’H’,’e’,’l’,’l’,’o’,’!’}; B.char b[10];b=\

C.char b[10];strcpy(b,\ D.char b[10]=\

21在C语言中,一维数组的定义方法为 类型说明符 数组名 A.[常量表达式] B.[整型常量] C.[整型变量]

D.[整型常量]或[整型表达式]

22,下列选项中错误的说明语句是

A. char a[]={′t′,′o′,′y′,′o′,′u′,′\0′}; B. char a[]={\\0\C. char a[]=\\0\D. char a[]=′toyou\0′;

23字符串常量不能直接赋值给字符数组,但可以通过____strcpy_____函数来实现。

24,下面程序段运行的结果__-1_____。 int y=2,a=1; do{

a*=y ; a++ ;

} while (y--); printf(\

25,

分析如下程序,此程序运行时输出结果是:20 #include

void test(int *x,int *y); void main() {

int a=10,b=20; test(&a,&b); printf(\}

void test( int *x,int *y) {

int t;

t=*x;*x=*y;*y=t; }

26分析如下程序,此程序运行时输出结果是:28 #include void main() {

struct u{ char *name; int age;

int income; }s;

s.name=\printf(\}

27,以下程序输出的结果是( 0 ) #include void main( ) {

int a=5,b=4,c=3,d; d=(a>b>c);

printf(\}

28,考生注意:先将源程序文件715.c复制到D盘中操作,操作完成后,将此文件复制回来(覆盖)!

要求:补充程序使得程序运行时完成以下功能:

计算2个数的立方差(结果=第一个数的立方减去第二个数的立方) 要求:

1)2个数由键盘输入

2)通过函数调用实现(计算方法在子函数中,通过主函数调用实现) 3)将结果显示出来

A. 语句、花括号和函数体 B. 函数名、语句和函数体 C. 函数名、形式参数和函数体 D. 形式参数、语句和函数体 19

以下叙述中正确的是

A. 构成C程序的基本单位是函数

B. 可以在一个函数中定义另一个函数 C. main()函数必须放在其他函数之前

D. 所有被调用的函数一定要在调用之前进行定义 20,

以下能对一维数组a进行正确初始化的语句是__________ 。 A)int a[10]={0,0,0,0,0}; B)int a[10]={} ; C)int a[ ] = {0} ; D)int a[10]={10*1} ;

21,以下程序的运行结果是_________。 int num=0;

while (num<=2) {num++;

printf(\}

A)1 B)1 2 C)1 2 3 D)1 2 3 4 22,

下面的程序中 ( ) 有错误(每行程序前面的数字是行号)。 1 #include 2 main() 3 {

4 float a[3]={0,0}; 5 int i;

6 for(i=0;i〈3;i + + ) scanf(\&a[i]); 7 for(i=1;i〈3;i + + ) a[0]=a[0]+a[i]; 8 printf(\ 9 } A.没有 B.第4行 C.第6行 D.第8行

23,下面程序以每行3个数据的形式输出a数组,请填空。 #define N 9

main()

{int a[N]={1,2,3,4,5,6,7,8,9},i; for(i=0;i<N;i++)

{if(_____________) printf(\ printf(\ } }

24,下列程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0,请为程序填空。 #include void main ( )

{ int i, x, y=1; scanf(\&x);

for(i=2; i<=x/2; i++) if ( ________) { y=0; break; } printf(\}

25,分析如下程序,若此程序运行输出结果是: #include void fun(int *x) {

printf(\}

void main() {

int a=25; fun(&a); }

26,分析如下程序,此程序运行时输出结果是: #include typedef struct { int a; float b; char *c; }UN;

void main() {

static UN x={19,83.5,\UN *px; px=&x;

printf(\

} 27,

”%-ms”表示如果串长________m,在m列范围内,字符串向左靠,右补空格。

28,考生注意:先将源程序文件703.c复制到D盘中操作,操作完成后,将此文件复制回来(覆盖)!

要求:补充程序使得程序运行时完成以下功能:

用函数调用完成求一个数组{12,3,2,4,5,8,9,12,2,40}中的最小元素值 要求:通过函数调用实现(计算方法在子函数中,通过主函数调用实现)

29要求:补充程序使得程序运行时完成以下功能: ** ****** **

并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。

30输入一个整数,判断是否是2和3的公倍数,若是则输出:2&3yes,否则再判断是否是5的倍数 ,若是7的倍数输出:7yes,若都不是输出:no

并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。

31,要求:补充程序使得程序运行时完成以下功能:

用选择法对10个整数按由大到小顺序排列。 要求: 1)从键盘读入10个整数到数组; 2)用选择法进行排序; 3)显示排序后的数组。

试卷4 1,有如下程序

#include int runc(int a,int b) { return(a+b);} void main()

{ int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(“%\\d\\n”,r); }

该程序的输出的结果是

A) 12 B) 13 C) 14 D) 15 2,

有如下函数调用语句

func(rec1,rec2+rec3,(rec4,rec5));

该函数调用语句中,含有的实参个数是 A) 3 B) 4 C) 5 D) 有语法错 3,

在一个C源程序文件中若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( )。 A. register B.static C. auto D.extern

4,下面哪个是合法的标识符。

A)3th B)_2f C)$25 D)for 5,

设int型变量a,b,c且初值分别1,2,3,则表达式c>b!=a的值为( ) A、 -1 B、0 C、T D、F 6,

若有说明语句:int a; float b;,以下输入语句正确的是 。 A) scanf(\﹠a,﹠b); B) scanf(\﹠a,﹠b); C) scanf(\﹠a,﹠b);

D) scanf(\﹠a,﹠b); 7,

设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是______。

A) printf(\

B) printf(\

C) printf(\

D) printf(\ 8,

若有定义:int x,y;char a,b,c;并有以下输入数据(此处\代表换行符,/u代表空格): 1u2 AuBuC

则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C 的正确程序段是 A) scanf(\﹠x,﹠y);a=getchar();b=getchar();c=getchar(); B) scanf(\﹠x,﹠y);a=getchar();b=getchar();c=getchar(); C) scanf(\﹠x,﹠y,﹠a,﹠b,﹠c);

D) scanf(\﹠x,﹠y,﹠a,﹠a,﹠b,﹠b,﹠c,﹠c);

9,

有以下程序

#include \void main() {

int i=1,j=2,k=3;

if(i++==1﹠﹠(++j==3||k++==3)) printf(\}

程序运行后的输出结果是( )

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

10,若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是( ) A) swich(a+b); B) switch(a*a+b*b) {case 1:y=a+b; break; {case 3:

case 0:y=a-b; break; case 1:y=a+b;break;

} case 3:y=b-a,break; }

C)switch a D) switch(a-b)

{case c1 :y=a-b; break; {default:y=a*b;break;

case c2: x=a*d; break; case 3:case 4:x=a+b;break; default:x=a+b; case 10:case 11:y=a-b;break; } }

11,下列程序段运行后x的值是( ) #include \void main() {

int a=0,b=0,c=0,x=35; if(!a)x--; else if(b); if(c)x=3; else x=4;

printf(\}

A)34 B)4 C)35 D)3 12,

已知int k=10,m=3,n;则下列语句输出结果是 printf(\\n\(k%m,k/m)); A. 2

B. 3 C. 4 D. 5

13,设 int x=1, y=1; 表达式(!x||y--)的值是 A. 0 B. 1 C. 2 D. -1 14,

有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。下面程序是求这堆零件总数,请选择填空。 #include main() { int i;

for(i=100;200>i;i++) if((i-2)%4==0) if(!((i-3)%7)) if(_______) printf(\); } A. i%9=5 B. i%9!=5

C. (i-5)%9!=0 D. (i-5)%9==0 15,

以下说法正确的是__________。

A) 不能使用 do-while 语句构成的循环。

B) do-while 语句构成的循环必须用 break 语句才能退出 。

C) do-while 语句构成的循环,当 while 语句中的表达式值为非零时结束循环。 D) do-while 语句构成的循环,当 while 语句中的表达式值为零时结束循环。 16,

下面程序的输出结果是_______。 #include void main( ) { int n=9; while(n>6)

printf(\ }

A)987 B)876 C)8765 D)9876 17,

下列是用户自定义标识符的是

A. _w1 B. 3_xy C. int D. LINE-3 18,

关于C语言的主函数描述正确的是 A. C程序可以有多个main函数

B. C程序必有一个而且只能有一个main函数 C. C程序可以没有main函数

D. C程序的执行不一定在main函数开始执行 19,

下面四个选项中,均是不合法的用户标识符的选项是 A. A P_0 do B. float la0 _A C. b-a goto int D. _123 temp int 20,

函数调用:strcat(strcpy(str1,str2),str3)的功能是 A. 将串str1复制到串str2中后再连接到串str3之后 B. 将串str1连接到串str2之后再复制到串str3之后

C. 将串str2复制到串str1中后再将串str3连接到串str1之后 D. 将串str2连接到串str1之后再将串str1复制到串str3中 21,

以下能对一维数组a进行正确初始化的语句是__________ 。 A)int a[10]={0,0,0,0,0}; B)int a[10]={} ; C)int a[ ] = {0} ; D)int a[10]={10*1} ;

22,合法的数组定义是 A.int a[]=\

B.int a[5]={0,1,2,3,4,5}; C.vhst s=\

D.char a[]={0,1,2,3,4,5};

23,字符串常量不能直接赋值给字符数组,但可以通过_________函数来实现。

24,下面程序运行的结果________。 #include void main ( ) { int k=1,n=263 ;

do { k*= n ; n/=10 ; } while (n) ; printf(\}

25,分析以下程序,写出此程序的运行结果: #include int x,y; int s( ) { int z; x=3; y=4; z=x+y; return(z); }

void main( ) {

int n; x=1; y=2; n=s( );

printf(\}

26,分析如下程序,此程序运行时输出结果是: #include void main() {

struct u{ char *name; int age;

int income; }s;

s.name=\printf(\} 27,

以下程序的输出结果是 。 #include 〈stdio.h〉 void main() {

char c1; c1='A';

printf(\ }

28,考生注意:先将源程序文件715.c复制到D盘中操作,操作完成后,将此文件复制回来(覆盖)!

要求:补充程序使得程序运行时完成以下功能:

计算2个数的立方差(结果=第一个数的立方减去第二个数的立方) 要求:

1)2个数由键盘输入

2)通过函数调用实现(计算方法在子函数中,通过主函数调用实现) 3)将结果显示出来

29,要求:补充程序使得程序运行时完成以下功能:

编写一个程序,向屏幕输出以下信息: Hello,everyone!

好好学习,天天向上!!

30,要求:补充程序使得程序运行时完成以下功能:

输入一个整数,判断它是否是水仙花数,(水仙花数的个位、十位、百位三个数的立方和等于 这个数本身)

要求: 1)从键盘输入整数,先判断用户输入的是不是3位数; 2)若用户输入的是3位数再判断它是不是水仙花数。

并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。

31,补充程序使得程序运行时完成以下功能: 计算公式:s=1/1+1/2+1/3+....+1/n

要求: 1)n的值由键盘输入并存入一个一维数组中 2)将s的值显示出来。

并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。

参考答案

卷一

题号:1 答案:A 试卷:

题号:2 分值:2 得分:0 答案:B 试卷: 题号:3 分值:2 得分:0 答案:A 试卷: 题号:4 分值:2 得分:0 答案:C 试卷: 题号:5 分值:2 得分:0 答案:C 试卷: 题号:6 分值:2 得分:0 答案:C 试卷: 题号:7 分值:2 得分:0 答案:C 试卷: 题号:8 分值:2 得分:0 答案:B 试卷: 题号:9 分值:2 得分:0 答案:A 试卷: 题号:10 分值:2 得分:0 答案:B 试卷: 题号:11 分值:2 得分:0 答案:C 试卷: 题号:12 分值:2 得分:0 答案:B 试卷: 题号:13 分值:2 得分:0 答案:B 试卷: 题号:14 分值:2 得分:0 答案:B 试卷: 题号:15 分值:2 得分:0 答案:A 试卷: 题号:16 分值:2 得分:0 答案:B 试卷: 题号:17 分值:2 得分:0 答案:D 试卷: 题号:18 分值:2 得分:0 答案:D 试卷:

题号:19 分值:2 得分:0 答案:C 试卷: 题号:20 分值:2 得分:0 答案:B 试卷: 题号:21 分值:2 得分:0 答案:A 试卷: 题号:22 分值:2 得分:0 答案:D 试卷: 题号:23 分值:2 得分:0 答案:strcpy试卷: 题号:24 分值:2 得分:0 答案:-1 试卷: 题号:25 分值:2 得分:0 答案:20 试卷: 题号:26 分值:2 得分:0 答案:28 试卷: 题号:27 分值:2 得分:0 答案:0 试卷:

题号:1 题号:2 题号:3 题号:4 题号:5 题号:6 题号:7 题号:8 题号:9 题号:10 题号:11 题号:12 题号:13 题号:14 题号:15 题号:16 题号:17 题号:18 题号:19 题号:20 题号:21 题号:22 题号:23 题号:24 题号:25 题号:26 题号:27

题号:1 题号:2 题号:3 题号:4 题号:5 题号:6 题号:7 卷2

分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 卷3

分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 分值:2 得分:0 答案:D 试卷: 答案:B 试卷: 答案:C 试卷: 答案:B 试卷: 答案:A 试卷: 答案:D 试卷: 答案:D 试卷: 答案:A 试卷: 答案:A 试卷: 答案:B 试卷: 答案:B 试卷: 答案:C 试卷: 答案:B 试卷: 答案:C 试卷: 答案:D 试卷: 答案:C 试卷: 答案:B 试卷: 答案:A 试卷: 答案:B 试卷: 答案:D 试卷: 答案:C 试卷: 答案:C 试卷: 答案:1 试卷: 答案:16 试卷: 答案:14 试卷: 答案:zhang试卷: 答案:A 试卷: 答案:B 试卷: 答案:C 试卷: 答案:B 试卷: 答案:B 试卷: 答案:C 试卷: 答案:A 试卷:

题号:8 分值:2 得分:0 答案:C 试卷: 题号:9 分值:2 得分:0 答案:D 试卷: 题号:10 分值:2 得分:0 答案:D 试卷: 题号:11 分值:2 得分:0 答案:A 试卷: 题号:12 分值:2 得分:0 答案:C 试卷: 题号:13 分值:2 得分:0 答案:B 试卷: 题号:14 分值:2 得分:0 答案:A 试卷: 题号:15 分值:2 得分:0 答案:A 试卷: 题号:16 分值:2 得分:0 答案:D 试卷: 题号:17 分值:2 得分:0 答案:A 试卷: 题号:18 题号:19 题号:20 题号:21 题号:22 题号:23 题号:24 题号:25 题号:26 题号:27

题号:1 题号:2 题号:3 题号:4 题号:5 题号:6 题号:7 题号:8 题号:9 题号:10 题号:11 题号:12 题号:13 题号:14 题号:15 题号:16 题号:17 题号:18 题号:19 题号:20 题号:21 题号:22 题号:23 题号:24 题号:25 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 卷4

分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 分值:2 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 得分:0 答案:C 试卷: 答案:A 试卷: 答案:A 试卷: 答案:C 试卷: 答案:C 试卷: 答案:i%3==0试卷: 答案:x%i==0试卷: 答案:35 试卷: 答案:zhang试卷: 答案:小于 试卷: 答案:D 试卷: 答案:A 试卷: 答案:B 试卷: 答案:B 试卷: 答案:B 试卷: 答案:C 试卷: 答案:B 试卷: 答案:D 试卷: 答案:D 试卷: 答案:D 试卷: 答案:B 试卷: 答案:B 试卷: 答案:B 试卷: 答案:D 试卷: 答案:D 试卷: 答案:A 试卷: 答案:A 试卷: 答案:B 试卷: 答案:C 试卷: 答案:C 试卷: 答案:A 试卷: 答案:D 试卷: 答案:strcpy试卷: 答案:36 试卷: 答案:14 试卷:

题号:26 分值:2 得分:0 答案:28 试卷: 题号:27 分值:2 得分:0 答案:66 试卷:

题号:15 分值:2 得分:0 答案:A 试卷: 题号:16 分值:2 得分:0 答案:B 试卷: 题号:17 分值:2 得分:0 答案:C 试卷: 题号:18 分值:2 得分:0 答案:B 试卷: 题号:19 分值:2 得分:0 答案:B 试卷: 题号:20 分值:2 得分:0 答案:A 试卷: 题号:21 分值:2 得分:0 答案:D 试卷: 题号:22 分值:2 得分:0 答案:B 试卷: 题号:23 题号:24 题号:25 题号:26 题号:27

分值:2 分值:2 分值:2 分值:2 分值:2 得分:0 得分:0 得分:0 得分:0 得分:0 答案:12 答案:25 答案:35 答案:28 答案:B 试卷: 试卷: 试卷: 试卷: 试卷:

本文来源:https://www.bwwdw.com/article/k9sw.html

Top