一、单项选择题(20分,每题2分)
1.程序段
int *p,a;
p=&a;
a=10;
printf("%d",p);
的输出应为:
A)10 B)0 C)不能确定 D)语法错误
2.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:
A)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式
3.以下语句或语句组中,能正确进行字符串赋值的是。
A)char *sp;*sp="right!"; B)char s[10];s="right!";
C)char s[10];*s="right!"; D)char *sp="right!";
4.for(i=0;i<10;i++)
if(i〈=5) break;
则循环结束后i的值为
A)0 B)1 C)5 D)10
5.有以下程序
main()
{
int m,n,p;
scanf("m=%dn=%dp=%d",&m,&n,&p);
printf("%d%d%d\n",m,n,p);
}
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是。
A)m=123n=456p=789 B) m=123 n=456 p=789
C)m=123,n=456,p=789 D)123 456 789
6.C语言中,最基本的数据类型包括:
A)整型、实型、逻辑型 B)整型、字符型、数组
C)整型、实型、字符型 D)整型、实型、结构体
7.以下说法正确的是
A) C程序总是从第一个定义的函数开始执行
B) 在C程序中,要调用的函数必须在main()函数中定义
C) C程序总是从main()函数开始执行
D) C程序的main()函数必须放在程序的开始部分
8.程序段
int *p, a=1;
p=&a;
*p=10;
a的值为:
A) 1 B) 10 C) 不能确定 D) 11
9.以下定义语句中,错误的是
A) int a[]={1,2}; B) char *a[3];
C) char s[10]="test"; D) int n=5,a[n];
10.假定int类型变量占用两个字节,有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是
A) 3 B) 6 C) 10 D) 20
二、填空题(30分,每空2分)
1.已知字符A的ACSII码值为65,以下语句的输出结果是 (1) 。
char ch=’B’;
printf("%c %d\n",ch,ch);
2.’a’在内存中占 (2) 请输入一个长度0和5之间的字符串 个字节,”a”在内存中占 (3) 个字节。
3.若有int a[3][2] = {{1},{3,2},{4,5}};,则a[1][1]的值是 (4) 。
4.有以下程序,执行后输出结果是 (5) 。
main( )
{
int t=1,i=5;
for(;i>=0;i--) t*=i;
printf("%d\n",t);
}
5.在循环语句中,break语句的作用是 (6) ,continue语句的作用是 (7) 。
6.下面程序段将字符数组b连接到数组a的后面。
main()
{
char a[20]= ."I am ";
char b[]= ."a student.";
int i, j;
i = strlen(a);
for(j =__(8)___; b[j]!='\0'; j++)
{
a[__(9)__] = b[__(10)__];
}
a[___(11)__] = ___(12)___ ;
}
7.for(表达式1;表达式2;表达式3)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论