大一c语言考试试题

2018-11-19 21:24

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

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)将结果显示出来


大一c语言考试试题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:东师小学数学学习心理学15秋在线作业1答案(4)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: