{ }
A) LANGUAGE B) language C) LANG
D) langUAGE
printf(“%c”,*p-32); p++;
21. 执行下面的程序段后,变量k中的值为(D)
int k=3,s[2]; s[0]=k;k=s[1]*10; A)30
B) 20
C) 10
D)不定值 22. 以下能正确定义二维数组的是( C )。
A)int a[][3];
B)int a[][3]={ }; C)int a[][3]={2*3}; D)int a[2][3]={{1},{2},{3}};
23. 有以下程序
#include
{char *p=“abcde\\0fghjik\\0”; printf(“%d\\n”,strlen(p)); }
程序运行后的输出结果是(D) A) 15
B) 12 C) 6
24.下列程序的输出结果是(C)
D) 5
#include
{ struct abc s[2]={{1,2,3},{4,5,6}}; int t;
t=s[0].a+s[1].b%s[0].c; printf(“%d \\n”,t); } A) 7
B) 4 C) 3
D) 2
25. 当执行下面程序输入:ABC时,输出的结果是(A )。
#include “stdio.h” #include “string.h” main()
{ char ss[10]=“12345”; strcat(ss,“6789”); gets(ss);
printf(“%s\\n”,ss); }
A)ABC B)ABC9 C)123456ABC D)ABC456789
二. 填空题(本题总分20分,每空2分)
1. ASCII代码中,字母A的序号是65,以下程序的输出结果是【65 89】。
#include
{ char c1=’A’, c2=’Y’; printf(“%d, %d\\n”, c1, c2); }
2. 若x为int型变量,则执行以下语句后x的值是【2】。
x=7; x+ = x- = x+x ;
3. 有int a=3, b=4, c=5; 则以下表达式的值是【3】。
! (a+b)+c -1 && b+c/2
若二维数组a有m列,则计算任一元素a[i][j]在数组中的位置的公式是【i*m+j
】。
4. C语言提供了三种预处理语句,他们是宏定义,【文件包含】 和条件编译。 5. 以下程序的功能是用选择法对数组a中的整数由小到大进行排序。
void sort(int b[],int n) { int i, j, t;
for(i = 0; i
{ int a[]={5, 8, 6, 2, 7, 4, 1, 3}; int i;
sort(a, 8);
for(i = 0; i<8; i ++ ) printf(“﹪5d”, a[i]); printf(“\\ n”); }
6. 以下程序的功能是先为数组a输入数据,再为x输入一个数据,在数组a中找出第一个
与x相等的元素并将其下标输出,若不存在这样的元素,则输出“Not found!”标志。 main()
{int i,x,a[10]; for(i = 0; i<10; i ++ ) scanf(“﹪d”, 【8】 ); scanf(“﹪d”, &x); printf(“﹪d”, x); for(i = 0; i<10; i ++) if( 【9】 ) break;
if ( 【10】 ) printf(“ position:﹪d \\ n”, i); else printf(“ Not found! \\ n”,x); }
三. 分析程序,写出运行后的结果。(本题总分10分,每小题5分)
1、下述程序的输出结果是_____s=13_______________。 #include
for( k=7; k>4; k--) { switch(k) { case 1: case 4:
case 7: s++; break; case 2: case 3: case 6: break; case 0:
case 5: s+=2; break; } }
printf(“s=%d”, s); }
2、下述程序的输出结果是__________4,5__________。 void swap(int *a, int *b) { int *tmp; tmp = a; a = b; b = tmp; *tmp = 4; }