C语言试卷01
- 格式:doc
- 大小:52.00 KB
- 文档页数:3
安徽农业大学
2009-5-16
C语言试题(一)
1.下列关于C语言用户标识符的叙述中正确的是______。
A. 用户标识符中可以出现下划线和中划线(减号)
B. 用户标识符中不可以出现中划线,但可以出现下划线
C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头
D. 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头
2.以下叙述不正确的是
A. 一个C源程序可由一个或多个函数组成
B. 一个C源程序必须包含一个main函数
C. C程序的基本组成单位是函数
D. 在C程序中,注释说明只能位于一条语句的后面
3.下面能正确进行字符串赋值操作的语句是
A.char s[5]={"ABCDE"};
B.char
s[5]={'A','B','C','D','E'};
C.char *s;s="ABCDEF";
D.char *s; scanf("%s",s);
4.下列叙述中正确的是
A. C语言编译时不检查语法
B. C语言的子程序有过程和函数两种
C. C语言的函数可以嵌套定义
D. C语言的函数可以嵌套调用
5.以下程序输出的结果是____。
main( )
{ float a=5,b=4,d;
d=(a>b);
printf("%d\n",d);}
A. 1 B. 0C. 1.0 D. 4
6.设int a=5,b=6,表达式(b--==6)?++a:--b的值是___
A. 5 B. 6 C. 7 D. 4
7.设i,j,k均为int型变量,则执行完下面的for语句后,k的值为___ 。
for(i=0, j=10; j>=i; i++, j--)
k=i+j;
A. 10 B. 20 C. 8 D. 0
8.能正确表示逻辑关系:"1≤a≤9"的C语言
表达式是
A. a>=1 or a<=9
B. a>=1且a<=9
C. a>=1&&a<=9 D. 1≤a≤9
9.有以下程序
main()
{int i=0,k=2;
if(++i)printf("%d",k);
else printf("%d",-k)
}
执行后输出结果是
A. -2 B. 2 C. 0 D. 1
10.执行下面的程序段后,变量k中的值为
int k=3, s[2];
s[1]=k; k=s[1]*10;
A.不定值 B.33 C.30 D.10
11.若有以下说明和语句,则输出结果是______。
char s[12]="a book!";
printf("%d",strlen(s));
A. 12 B. 8 C. 7 D.11
12.设有以下程序段
int x=0,s=0;
while(!x!=0)s+=++x;
printf("%d",s);
则
A. 运行程序段后输出0
B. 运行程序段后输出1
C. 程序段中的控制表达式是非法的
D. 程序段执行无限次
13.下列是用户自定义标识符的是
A. _sd1B. 3_mnC. floatD. Lone-3
14.阅读下列程序,程序的输出结果是
#include "stdio.h"
main()
{ int m,n;
float k;
for(m=6;m>2;m--)
{
k=0;
for(n=m;n>1;n--)
k=k+m*n;
} 安徽农业大学
2009-5-16
printf("%f\n",k);}
A. 5.000000B. 15.000000
C. 25.000000D. 35.000000
15.若i,j和k都是int型变量,则表达式(i=4,j=16,k=32,i=j)的值为
A. 4 B. 16 C. 32 D. 52
16.以下能正确定义一维数组的选项是_____。
A. int num []; B. #define
N 100 int num [N];
C. int num[0..100]; D. int
N=100; int num[N];
17.若有以下定义和语句:
char *s1="12345",*s2="1234";
printf("%d\n",strlen(strcpy(s1,s2)));
则输出结果是_____
A. 4 B. 5 C. 9 D. 10
18.下面各选项中,均是C语言标识符的选项组是
A. for china to
B. lng_123 hort56 _do
C. void union _342
D. text.txt _023 _3ew
19.下列程序执行后的输出结果是
main()
{ char arr[2][4];
strcpy(arr,"you"); strcpy(arr[1],"me");
arr[0][3]=′+′;
printf("%s\n",arr);
}
A. you+me B. you C. me D. err
20.下面属于C语言标识符的是______。
A. 1ab B. @f
C. ?b D. _a12
21.分析如下程序,此程序运行时输出结果是:
#include
void main()
{
struct u{ char *name;
int age;
int income; }s;
="Wangling"; s.age=28;
s.income=1000; printf("%d\n",s.age);
}
22.分析如下程序,此程序运行时 输出结果是:
#include
void main()
{
int i,j,n=0;
for(i=0;i<2;i++)
{
n++;
for(j=0;j<=3;j++)
{
if(j%2)
continue;
n++;
}
}
printf("%d",n);
}
23.以下程序输入3课整数给a、b、c;程序把b中的值给a,把c中的值给b,把a中的值给c,然后输出a、b、c的值,请填上空缺的语句:
#include
void main()
{
int a,b,c;
int temp;
printf("Enter a,b,c:")
scanf("%d%d%d",&a,%b,&c);
temp=a;
a=b;
b=c;
______________
printf("a=%d b=%d c=%d\n",a,b,c);
}
24.下面程序是计算s=1+2+3+4+...+n,n是由键盘输入,最后显示出s的值,请找出此程序中错误的语句:
#include
void main( )
{ int s,i,n;
scanf("%d",&n);
for(i=1;;) 安徽农业大学
2009-5-16
{ if(i<=n)
{ continue;}
else
{ s+=i; i++; }
};
printf("s=%d",s);
}
25.在答题区域中写出此程序中错误的语句和改正后的语句!
下面程序是计算n的阶乘,n是由键盘输入,最后显示出s的值,请找出此程序中错误的语句:
#include
void main( )
{ float s=1,i=2,n;
scanf("%d",&n);
while(i
{ s*=i;
i++;
};
printf("s=%f",s);
}
在答题区域中写出此程序中错误的语句和改正后的语句!
26.下面程序是计算s=1+2+3+4+...+n,n是由键盘输入,最后显示出s的值,请找出此程序中错误的语句:
#include
void main( )
{ int s=0,i,n;
scanf("%d",n);
for(i=1;i<=n;i++)
{ s+=i; };
printf("s=%d",s);
}
在答题区域中写出此程序中错误的语句和改正后的语句!
27.下面程序是计算n的阶乘,n是由键盘输入,最后显示出s的值,请找出此程序中错误的语句:
#include
void main( )
{ float s=0,i,n; scanf("%d",&n);
for(i=2;i<=n;i++)
{ s*=i; };
printf("s=%d",s);
}
28.在答题区域中写出此程序中错误的语句和改正后的语句!
打开C:\CAADATA\28中的源程序文件313.c,补充程序使得程序运行时完成以下功能:
在一字符串中查找有多少个小写英文字符('a'...'z'),并给出结论(共多少个)
要求:1)字符串由键盘输入
2)查找结束显示结论。
并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。
29.打开C:\CAADATA\29中的源程序文件215.c,补充程序使得程序运行时完成以下功能:
从用户输入的一位整数判断是星期几(monday,tuesday,wednesday,thursday,friday,saturday,sunday)比如输入1,输出monday,如输入7,输出sunday。
要求: 1)首先判断用户输入的是不是1~7之间的数,若是则输出星期几
2)若用户输入的不是1~7之间的数,输出error data
并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。
:1 答案:B :2 答案:D :3 答案:C :4 答案:D
:5 答案:A :6 答案:B
:7 答案:A :8 答案:C
:9 答案:B :10 答案:C
:11 答案:C :12 答案:B
:13 答案:A :14 答案:B
:15 答案:B :16 答案:B
:17 答案:A :18 答案:B
:19 答案:A :20 答案:D
:21 答案:28 22 . 答案:6
23 . 答案:c=temp;