C语言

班级姓名学号

一、选择题

1. 下面程序把数组元素中的最大值放入a[0]中。则在if 语句中的条件表达式应该是:

A)*p>a[0]   B)p>a    C)p>*a    D)*p>a

main( )
{int a[10]={6,7,2,9,1,10,5,8,4,3},*p=a,i;
for(i=0;i<10;i++,p++)
if(________) *a=*p;
printf("%d",*a);`
}
2.下选项中合法的用户标识符是______。

A)int  B) _abc   C) 321   D) t.ext

 

7.有以下程序

#include <stdlib.h>

main()

{char *p,*q;

p=(char *)malloc(sizeof(char)*20); q=p;

scanf("%s%s",p,q); printf("%s%s\n",p,q);

}

若从键盘输入:abbc cd<回车>,则输出结果是______。

A) bcbc   B) abbc cd   C) abbc cd   D) d d

8.设有如下定义:

struct mm
{int a;
float b;
}data;
int *p;
若要使p指向data中的a成员,正确的赋值语句是______。

A) p=&a;   B) p=data.a;   C) p=&data.a;   D) *p=data.a

9.有以下程序
int fa(int x)
{return x*x; }
int fb(int x)
{return x*x*x; }
int f(int (*f1)(),int (*f2)(),int x)
{return f2(x)-f1(x); }
main()
{int i;
i=f(fa,fb,2); printf("%d\n",i);
}
程序运行后的输出结果是______。
A) -4   B) 1   C) 4   D) 8

10. 以下程序的输出结果是
main( )
{ int i;
for(i=1;i<6;i++)
{ if(i%2){printf("#");continue;}
printf("*");
}

printf("\n");
}A) *#*#*   B)*****   C)#####   D)#*#*#

11. 程序

main()
{int x=10,y=20,t=0;
if(x==y)t=x;x=y;y=t;
printf("%d,%d\n",x,y);
}运行后的输出结果是

A) 20,0B)10, 20C) 10, 0    D) 20,10

12. 以下程序的输出结果是
A) 123456780 B) 123 456 780 C) 12345678 D) 147
main( )
{ char ch[3][4]={"123","456","78"}, *p[3];

int i;
for(i=0;i<3;i++) p[i]=ch[i];
for(i=0;i<3;i++) printf("%s",p[i]);
}
二、填空题(请按要求把内容填入【】中)

1、有以下程序

#include <string.h>

main(int argc,char *argv[])

{int i,len=0;

for(i=1;i<argc;i++) len+=strlen(argv[i]);

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

}

程序编译连接后生成的可执行文件是test.exe,若运行时输入带参数的命令行是:

test abcd efg hi<回车>则运行的结果是【】。

 

6.以下函数的功能是删除字符串s中的所有大写字母字符。

viod dele(char *s)
{ int n=0,i;
for(i=0;s[i];i++)
if(【7】)s[n++]=s[i];
s[n]=【8】;
}
7.有以下程序
main()
{ char *s[]={"1","12","123"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}执行后输出结果是【9】.

8.有以下程序
main()
{ int i;
for(i=0;i<5;i++)
switch(i)
{ case 1: printf("%d",i);
case 2: printf("%d",i);
default: printf("%d",i);
}
}
执行后输出的结果是 【10】

9.以下程序的运行结果是【11】
#include "stdio.h"
main( )
{
int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12};
int *p=a+5, *q=NULL;
* q=*(p+5);
printf("%d %d \n",*p,*q);
}
10. 语句:printf("%d",(a=5)&&(b= -5));的输出结果是【12】.

11.数学表达式a÷(b×c)的c语言表达式为【13】。

12.对文件的操作中,若要求文件的位置回到文件的开头,应当调用的函数为:【14】。

13. 下面程序的运行结果是:【15】。
typedef union person
{char name[10];
int xh;
char sex;
float score[6];
}S;
main()
{S a[5];
printf("%d\n",sizeof(a));
}

三、程序设计题

1、编程输出“九九”乘法口诀表(输出格式由考生自定)。

2、写一函数求n!并在主函数中调用求由键盘输入数n的阶乘.

3、编写函数实现取子字符串,即将字符串s1中第m个字符开始的全部字符复制到另一字符串s2中。在主函数中输入字符串s1,输出字符串s2。

4、编写并调用函数nlcount统计n(n<50)个人中各年龄段的人数并存到result数组中。要求:

①从主函数中输入n和n个人的年龄,统计结果在主函数中输出。

②年龄为1到9的人数存到result[0] ,年龄为10到19的人数存到result[1],年龄为20到29的人数存到result[2], 年龄为30到39的人数存到result[3],年龄为40到49的人数存到result[4], 年龄为50岁及以上的人数存到result[5]中。

转载于:https://www.cnblogs.com/heshan664754022/archive/2012/03/08/2384686.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值