A.编辑、调试、编译、连接
B.编辑、编译、连接、运行
C.编译、调试、编辑、连接
D.编译、编辑、连接、运行
2.以下标识符中,不合法的是()
A. 4d
B._8_d
C. Int
D. key
A.在C程序中,main函数必须位于程序的最前面 B.C程序的每行中只能写一条语句
C.C语言本身没有输入输出语句
D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误
4,以下不合法的数值常量是()
A.0112
B. 1.34el
C. 8.0E0.5
D.0x12cd
5.若变量已正确定义并赋值,符合C语言语法的表达式是()
A.a=2++
B. a=3,5
C.a=a+1=3
D.12.3%4
6.C语言中,关系表达式和逻辑表达式的值是()
A.0
B.1
C.0或1D
. T’或’F’
A. pi=3.14
B.pi==3.14
C.pi-3.14=0
D. (pi-3.14 <= le-6) &&(pi-3.14>=-le-6)
A. char
B. char= int < long int <=float < double
C. charD. char=int= long int <= float < double
A2
B.0
C.4
D.8
10.程序员要想调用输入输出函数,需要在程序的开头写上语句()
A. #include
B.#include
C. #include
D.#include
11.下列程序段的输出结果是()。
int main()
{
int a = 2, b= -1, c = 2;
if(a<b)
if(b<0)
c=0;
else c++;
printf("%d\n",c);
return 0;
}
A.0
B.1
C.2
D.3
12.以下程序段的输出结果是()。
int i, j;
for (j== 10; j<11;j++)
for (i = 9; i == j - 1; i++)
printf("%d"、j);
A. 11
B. 10
C.9
D.10 11
13,有定义语句int a[5).i输入数组a的所有元素的语句应为()
A.scanf(“%d%d%d%d%d”.a[5]);
B. scanf(“%d”,a);
C.for(i=0;iD. for(i=0;i<5;i++) scanf(“%d”.a[i]):
14,假定char类型变量占用1个字节,且数组定义如下char tab_str [10][81];,则数组tab_str在内存中所占字节数是()
A.810
B.10
C.81
D.0
15,假设scanf语句执行时输入ABCDE<回车>,能使puts(s)语句正确输出ABCDE字符串的程序段是()
A. char s[5]=(“ABCDE”}; puts(s);
B. char s[5)=(‘A’, ‘B’, ‘C’, ‘D’,‘E’}; puts(s);
C. char *s; scanf(“%s”, s); puts(s);
D. char *s;s=“ABCDE”; puts(s);
int fun(int x)
{
static int a = 3;
a+=x;
return (a);
}
int main(){
int k = 2, m = 1, n;
n = fun(k); n = fun(m);
printf("%d\n", n);
return 0;
}
A.5
B.4
C.6
D.3
A.地址传递
B.值传递
C.由实参传给形参,再由形参传给实参
D. 由用户指定传递方式
18.若有如下定义,则()的值是34。
int a=(5, 15, 34, 54, 14, 2, 52, 72);
int *p= &a[1];
A. p[1]
B. p[2]
C. p[o]
D. p[3]
19,下面定义结构变量的语句中错误的是()
A. struct student{ int num; char name[20]; } s;
B. struct {int num; char name[20];} s;
C. struct studentf int num; char name[20]; ); struct student s;
D. struct student{ int num; char name[20); ); student s;
20.下面程序的输出结果是()。
#include
void fun (int *x, int *y){
printf("%d%d",*x,*y);
*x=3;*y=4;
}
int main(){
int x=1,y=2;
fun(&x,&y);
printf("%d%d",x,y);
return 0;
}
Α.2134
B.1212
C.1234
D.2112
1________
//从键盘上输入china#回车
#include
void main()
{
int c1=0,c2=0;
char ch;
while((ch=getchar())!='#')
switch(ch)
{case 'a': case 'h':c1++;
default:c2++;}
printf("cl=%d,c2=%d\n",c1,c2);
}
2_______
#include
int counter()
{
static int c=0;
return ++c;
}
void main()
{
int i;
for(i=0;i<2;i++)
{
int c,j;
c = counter();
for(j=0;j<c;j++)
printf("%d",counter());
}
}
3_______
#include
void main(){
int i=3,j=6,k=9;
printf(“i=%d j=%d k=%d\n",*(&i),j,k);
}
4_______
//输入92
#include
void main(){
struct stud
{
int no;
char*name;
float score;
}stu1,stu2;
stu1.no=1001;
stu1.name="Wang yong";
printf("Input score: ");scanf("%f" ,&stu1.score);
stu2=stu1;
printf("No: %dnName: %slnScore: %5.1fn",stu2.no,stu2.name,stu2.score);
}
5_______
#include
void main()
{
char a[]="I love China!",b[20];
int i;
for(i=0;a[i]!='\0';i++)
b[i]=a[i];
b[i]='\0';
printf("string a is:%s\n",a);
printf("string a is:%s\n",b);
}
三、程序填空题(每空5分,共35分。请将答案填写在答题纸的相应位置上。)
- 以下程序将字符串s1中的所有与字符串strl相同的子串替换字符串str2,并将替换后的新串存于字符数组s2中。
#include
void fun(char *sl,char *s2,char *strl,char *str2)
{
char *t0,*t1,*t2,*x,*y;
x=s1;y=s2;
while(_______)
{
for(t0=s1,tl=strl;(*t1!="\0'&&________)); t0++,tl++); if(______)*s2++=*s1++;
else{
for(t1=str2;*tl!='\0';) *s2++=________;
s1=t0;
}
}
________;
}
void main(){
char s10="abedef ababed abab.",s2[25];
fun(s1,s2,"abc","XYZ");
printf("%sln",s2);
}
2.输入一个整数,将它逆序输出。要求定义并调用函数reverse(long number),它的功能是返回number的逆序数。例如reverse(12345)的返回值是54321。请将函数补充完整。
long reverse(long number)
{
int flag;
long res=0;
flag= number<0?-1:1;
if(________)number=-number;
while(number != 0){
res=__________;
number /= 10;
}
return flag*res;
}
四、编程题(本大题共 3小题,每小题 15分,共 45分。请在答题纸的相应位置上作答。)
1,为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y元)与月用水量x(吨)相关:当x不超过15吨时,y-4x/3;超过后,y=2.5x-17.5。编写程序实现水费的计算。
- 一条蠕虫长 1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息 1 分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了并的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。
3.编写函数void sort(char "words 1, int n);对一组英文单词进行按字典排序。在主函数中输出原无序的单词和排序后的单词。