大一期末的C语言程序设计考卷学校还会有多吗,我要补考了,想看看上一次的试题 10

请问1楼您这题目出自何处?... 请问1楼您这题目出自何处? 展开
 我来答
walk_inrain
2009-08-31
知道答主
回答量:22
采纳率:0%
帮助的人:0
展开全部
一. 选择题 (共15题, 每题2分,共30分)

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

A. union B. enum C.struct D.typedef

2. 设整型变量a为5,使b不为2的表达式是( )

A. b=a/2 B. b=6-(--a) C. b=a%2 D. b=a>3?2:1

3. 下面哪一项是不正确的字符串赋值或赋初值的方法( )

A. char *str; str= “china”;

B. char str[7]= {‘c’, ‘h’, ‘i’, ‘n’, ‘a’};

C. char str1[]= “china”,str2[]=“123”;

D. char str1[10]; str1= “china”;

4. 以下对二维数组a进行正确初始化的是( )

A. int a[2][3]={{1,2},{3,4},{5,6}}; B. int a[ ][3]={1,2,3,4,5,6};

C. int a[2][ ]={1,2,3,4,5,6}; D. int a[2][ ]={{1,2},{3,4}};

5. 选出下列标识符中不是合法的标识符的是( )

A. hot_do B. cat1 C. _pri D. 2ab

6. 以下说法中正确的是( )

A. C语言程序总是从第一个的函数开始执行

B. 在C语言程序中,要调用的函数必须在main()函数中定义

C. C语言程序总是从main()函数开始执行

D. C语言程序中的main()函数必须放在程序的开始部分

7. 若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为( )

A. p+1 B. a+1 C. a++ D. ++p

8. 若有说明: int i,j=7, *p=&i;, 则与i=j; 等价的语句是( )

A. i= *p; B. *p=*&j; C. i=&j; D. i=* *p;

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

A. ‘a’<=c<= ‘z’ B. (c>= ‘a’) || (c<= ‘z’)

C. (‘a’<=c) and (‘z’>=c) D. (c>= ‘a’) && (c<= ‘z’)

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

main()

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

p=a;

*(p+3)+=2;

printf( “%d,%d\n”,*p,*(p+3) ); }

A. 0, 5 B. 1, 6 C. 1, 5 D. 0, 6

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

main()

{ int a=5;

float x=3.14;

a*=x*(‘E’- ‘A’);

printf(“%f\n”,(float)a); }

A. 62.000000 B. 62.800000 C. 63.000000 D. 62

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

#define f(x) x*x

main()

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

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

printf(“%d\n”,c); }

A. 9 B. 6 C. 36 D. 18

13. 定义如下变量和数组:int i; int 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. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 9

14. 下列程序段的输出结果是 ( )

void main( )

{ int k;

for (k=1;k<5;k++)

{ if(k%2!=0)

printf( “#” );

else

printf(“*”) ; }

}

A. #*#* B . *#*# C. ## D. **

15. 下列程序执行后输出的结果是( )

int d=1;

fun (int p)

{ int d=5;

d + =p + +;

printf("%d,",d); }

main( )

{ int a=3;

fun(a);

d + = a + +;

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

A. 8, 4 B. 9, 6 C. 9, 4 D. 8, 5

二. 填空题(共7题,每空2分,共30分)

1. 数组 int a[3][5]; 共定义了_______________个元素。

2. 有float f=3.1415927; 则 printf(“%5.4f”, f );输出的结果是_______________。

3. 下面程序的功能是:输出 100以内(不包含100)能被 3整除且个位数为 6的所有整数,请填空。

main( )

{ int i;

for(i=1; _______________; i++)

if (_______________)

printf("%d", i);

}

4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是 _______________

5. 以下是使用指针,进行字符串复制的程序,请填空。

main()

{ char a[]= “Tsinghua University”, b[30], *p1,*p2;

p1=a;

p2=b;

for(; *p1!= ‘_______________’; p1++, p2++)

_______________=_______________;

*p2= ‘_______________’;

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<_______________;j++)
if( _______________< _______________ )
{ m=a[ j];
a[ j]=a[ j+1];
a[ j+1]= m; }
for(i=0;i<5;i++)

printf("%d ",a[i]);
}

7. 函数fun的功能是:使一个字符串按逆序存放,请填空。

void fun (char str[])
{ char m; int i,j;
for(i=0,j=strlen(str);i<_______________;i++,j--)
{ m=str[i];
str[i]= _______________;
str[j-1]=m;
}
printf("the rotated string is %s\n",_______________);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式