当前位置:文档之家› C语言---数-组练习题

C语言---数-组练习题

C语言---数-组练习题
C语言---数-组练习题

第七章数组

1.在C语言中引用数组元素时,下面关于数组下表数据类型的说法错误的是()A)整型常量B)整型表达式

C) 整型常量或整型表达式D) 任何类型的表达式

2.以下能正确定义一维数组a的选项是()

A)int a=[5]={0,1,2,3,4,5};B) char a[ ]={0,1,2,3,4,5};

C)char a={ 'A','B','C',};D) int a[5]= "0,1,2,3"

3.以下能正确定义一维数组a的选项是()

A) int a(10);B) int n=10, a[n];

C) int n;D) #define SIZE 10

scanf("%d",&n);int a[SIZE];

int a[n];

4.若有定义:int a[10];则正确引用数组a元素的是()

A) a[10] B) a[3] C) a[5] D) a[-10]

5.以下不正确的数组定义是()

A) double x[5]={2.0,4.0,6.0,8.0,10.0};

B) int y[5]={0,1,3,5,7,9};

C) char c1[ ]={'1','2','3','4','5'};

D) char c2[ ]={'\x10','\xa','\x8'};

6.以下叙述中错误的是()

A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出

B)数组名代表的是数组所占存储区的首地址,其值不可改变

C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息

D)可以通过赋初值的方式确定数组元素的个数

7.以下正确的二维数组定义是()

A)int a[ ] [ ]={1,2,3,4,5,6};B)int a[2][ ]={1,2,3,4,5,6};

C)int a[ ][3]={1,2,3,4,5,6};D)int a[2,3]={1,2,3,4,5,6};

8.以下对二维数组a进行初始化正确的是()

A)int a[2][ ]={{1,0,1},{5,2,3}};

B)int a[ ][3]={{1,2,3},{4,5,6}};

C)int a[2][4]={{1,2,3},{4,5},{6}};

D)int a[ ][3]={{1,0,1},{ },{1,1}};

9.以下不能对二维数组a进行初始化的是()

A)int a[2][3]={0};

B)int a[ ][3]={{1,2},{0}};

C)int a[2][3]={{1,2},{3,4},{5,6}};

D)int a[ ][3]={1,2,3,4,5,6};

10.若有定义:int a[3][4];则正确引用数组a元素的是()

A)a[2][4] B)a[3][3] C)a[0][0] D)a[3][4]

11.若定义了int b[ ][3]={1,2,3,4,5,6,7};则b数组第一维的长度是()

A)2 B)3 C)4 D)无确定值

12.若有定义:int a[3][4]={0};以下叙述中正确的是()

A)只有元素a[0][0]可得到初值0

B)此说明语句不正确

C)数组a中各元素都可得到初值,但其值不一定为0

D)数组a中每个元素均可得到初值0

13.若有定义:int a[ ][4]={0,0};以下叙述中错误的是()

A)数组a的每个元素都可得到初值0

B)二维数组a的第一维大小为1

C)因为初值个数除以a中第二维大小的值的商为0,故数组a的行数为1

D)只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

14.若二维数组a有m列,则计算元素a[ i ][ j ]在数组中相对位置的公式为()A)i*m+j B)j*m+i C)i*m+j—1 D)i*m+j+1

15.设char x[ ]="12345",y[ ]={'1','2','3','4','5','\0'};以下叙述中正确的是()A)x数组的长度等于y数组的长度B)x数组的长度大于y数组的长度C)x数组的长度少于y数组的长度D)x数组与y数组的存储区域相同16.下面是对字符数组s进行初始化,其中不正确的是()

A)char s[5]={"abc"};B)char s[5]={'a','b','c'};

C)char s[5]=" ";D)char s[5]="abcde";

17.字符数组s不能作为字符串使用的是()

A)char s[ ]="happy";B)char s[6]={'h','a','p','p','y','\0'};

C)char s[ ]={"happy"};D) char s[5]={ 'h','a','p','p','y','\0'};

18.下面有关字符数组的描述中错误的是()

A)字符数组可以存放字符串

B)字符串可以整体输入、输出

C)可以在赋值语句中通过赋值运算对字符数组整体赋值

D)不可以用关系运算符对字符数组中的字符串进行比较

19.下面程序段执行后的输出结果是()

int k,a[3][3]={1,2,3,4,5,6,7,8,9};

for (k=0;k<3;k++) printf("%d",a[ k ][2-k]);

A)3 5 7 B)3 6 9 C)1 5 9 D)1 4 7

20.下面程序段执行后的输出结果是()

char c[5]={'a','b','\0','c','\0'};

printf("%s",c);

A)'a' 'b' B)ab C)ab c D)abc

21.有两个字符数组a、b,则以下()是正确的输入语句

A)gets (a,b);B)scanf ("%s%s",a,b);

C)scanf ("%s%s",&a,&b);D)gets ("a");gets ("b");

22.下面程序段执行后的输出结果是()

char a[7]="abcdef";

char b[4]="ABC";

strcpy (a,b);

printf ("%c",a[5]);

A)空格B)\0 C)e D)f

23.下面程序段执行后的输出结果是()

char c[ ]="\t\b\\\0will\n";

printf ("%d",strlen (c) );

A)14 B)3 C)9 D)6

24.判断字符串a是否大于b,应当使用()

A)if (a>b) B)if (strcmp (a,b) )

C)if (strcmp(b,a)>0) D)if (strcmp(a,b)>0)

25.表达式strcmp("3.14","3.278")的值是()

A)非零整数B)浮点数C)0 D)字符

26.以下叙述中正确的是()

A)两个字符串所包含的字符个数相同时,才能比较字符串

B)字符个数多的字符串比字符个数少的字符串大

C)字符串"STOP︼"与"STOP"相等

D)字符串"That"小于字符串"That"

27.有以下程序:

# include

# include

void main( )

{ char p[ ]={'a','b','c'},q[10]={'a','b','c'};

printf ("%d %d",strlen(p), strlen(q));

}

以下叙述正确的是()

A)在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3 B)由于p数组中没有字符串结束符,长度不能确定;但q数组中字符串长度为3 C)由于q数组中没有字符串结束符,长度不能确定;但p数组中字符串长度为3 D)由于p和q数组中都没有字符串结束符,故长度都不能确定

28.下面程序运行时从键盘上输入:123 456 789↙,其输出结果是()

# include

void main( )

{ char s[100];int c, i;

scanf ("%c",&c);scanf ("%d",&i);scanf ("%s",s);

printf("%c,%d,%s",c,i,s);

}

A)123,456,789 B)1,456,789 C)1,23,456,789 D)1,23,456 29.下面程序运行时从键盘上输入:ABC↙,其输出结果是()

# include

# include

void main( )

{ char ss[10]="12345";

gets (ss);strcat(ss,"6789");printf("%s",ss);

A)ABC6789 B)ABC67 C)12345ABC6 D)ABC456789 30.下面程序执行后的输出结果是()

# include

#include

void main( )

{ char arr[2][4];

strcpy (arr,"you");strcpy(arr[1],"me");

arr[0][3]='&';

printf("%s",arr);

}

A)you&me B)you C)me D)错误

31.下面程序执行后的输出结果是()

# include

void main( )

{ char ch[7]="12ab56";int i,s=0;

for (i=0;ch[i]>'0'&&ch[i]<='9';i+=2)

s=10*s+ch[i]-'0';

printf("%d",s);

}

A)1 B)1256 C)12ab56 D)ab

32.下面程序执行后的输出结果是()

# include

void main( )

{ char str[ ]="SSWLIA", c;int k;

for (k=2;( c=str[k] )!='\0';k++) {

switch ( c ) {

case 'I':++k;break;

case'L':continue;

default:putchar( c );continue;

}

putchar( ' * ' );

}

}

A)SSW B)SW* C)SW*A D)SW

33.下面程序执行后的输出结果是()

# include

void main( )

{ int a[3][3]={ {1,2 },{ 3,4 }.{ 5,6 } },i , j , s=0;

for (i=1;i<3;i++)

for (j=0;j<=i;j++) s+=a[i][j];

printf("%d",s);

}

A)18 B)19 C)20 D)21

34.下面程序执行后的输出结果是()

# include

void main( )

{ char w[ ][10]={"ABCD","EFGH","IJKL","MNOP"} , k;

for (k=1;k<3;k++) printf("%s",w[k]);

}

A)ABCDFGHKL B)ABCDEFGIJM C)EFGJKO D)EFGHIJKL

35.下面程序执行后的输出结果是()

# include

void main( )

{ int aa[4][4]={ {1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6} };

int i,s=0;

for (i=0;i<4;i++) s+=aa[i][1];

printf("%d",s);

A)11 B)13 C)19 D)20

二、填空题

1、C语言数组的下标总是从_____开始,不可以为负数;数组各个元素具有相同的_____.

2. 在C语言中,二维数组的元素在内存中的存放顺序是_____________________.

3.在C语言中,一个二维数组可以看成若干个________________数组.

4.若定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后a[1][2]的值为______,a[2][1]得到的值为_______

5.若定义:double x[3][5];则x数组中行下标的上限为____,列下标的上限为_____

6.字符串是以_____为结束标的一维字符数组.若有定义:char a[]=”“;则a数组的长度是_____.

7.字符串”ab\n\\012\\”的长度是________.

8.若定义:char a[]=”abcdefg”,b[10]=”abcdefg”;语句printf(“%d,%d”,sizeof(a),sizeof(b));.”执行后的输出结果是_____________.

9.若要求从键盘读入含有空格的字符串,应使用_______函数.

10.欲为字符串s1输入”hello world”,其语句是_________________

11.欲为字符串s1复制到字符串S2中,其语句是_________________

12,如果在程序中调用了strcat函数,则需要预处理命令__________________。如果在程序中调用了gets函数,则需要预处理命令__________________。

13.如果在程序中调用了isupper函数,则需要预处理命令__________________。

14.若定义:char a[]=”windows”,b[]=”9x”;则执行语句printf(“%s”,strcat(a,b));”后的输出结果为:____________________。

15.下面程序执行后的输出结果是

#include

Void main( )

{int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;

while (i++<7) if(p[i]%2) j+=p[i];

printf(“%d”,j);

}

16.下面程序执行后的输出结果是

#include

void main( )

{inta[3][3]={{1,2,9},{3,4,8},{5,6,7}},I,s=0;

for(i=0;i<3;i++) s+=a[i][i]+a[i][3-i-1];

printf(“%d”,s);

}

17. 下面程序执行后的输出结果是

char x[]=”the teacher”;int i=0;

while(x[++i]!=’\0’)

if(x[i-1]= =’t’) printf(“%c”,x[i]);

18. 下面程序执行后的输出结果是

#include

void main( )

{char b[]=”hello,you”;

b[5]=0;

printf(“%s”,b);

}

19. 下面程序执行后的输出结果是

char a[7]=”a0\0a0\0”;int i,j;

i=sizeof(a);j=strlen(a);

printf(“%d,%d”,i,j);

}

20. 若定义:char a[80]=”95”,b[]=”windows”;则执行语句printf(“%s”,strcat(a,b));”后的输出结果为:____________________

三、程序阅读题1-20

1./*写出下面程序执行后的运行结果*/

#include

void main()

{ int i,n[]={0,0,0,0,0};

for(i=1;i<=4;i++) {

n[i]=n[i-1]*2+1;

printf("%d",n[i]);

}

}

2./*写出下面程序执行后的运行结果*/

#include

void main()

{ int i,a[5];

for(i=0;i<5;i++)

a[i]=9*(i-2+4*(i>2))%5;

for(i=4;i>=0;i--)

printf("%d",a[i]);

}

3./*下面程序运行时从键盘上输入:7 4 8 9 1 5 ,写出程序的运行结果。*/ #include

void main()

{ int a[6],i,j,k,m;//int a[6]={7,4,8,9,1,5},i,j,k,m;

for(i=0;i<6;i++)

scanf("%d",&a[i]);

for(i=5;i>=0;i--) {

k=a[5];

for(j=4;j>=0;j--)

a[j+1]=a[j];

a[0]=k;

for(m=0;m<6;m++)

printf("%d",a[m]);

printf("\n");

}

}

4./*下面程序运行时从键盘上输入:1 2 3 -4 ,写出程序的运行结果。*/

#include

void main()

{ int i,k=0,s=0,a[10];

while(1) {

scanf("%d",&a[k]);

if(a[k]<=0) break;

s=s+a[k++];

}

for(i=0;i

printf("%d",s);

}

5./*写出下面程序执行后的运行结果*/

#include

void main()

{ int i,k=5,a[10],p[3];

for(i=0;i<10;i++) a[i]=i;

for(i=0;i<3;i++) p[i]=a[i*(i+1)];

for(i=0;i<3;i++) k+=p[i]*2;

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

}

6./*写出下面程序执行后的运行结果*/

#include

void main()

{ int x[]={1,3,5,7,2,4,6,0},i,j,k;

for(i=0;i<3;i++)

for(j=2;j>=i;j--)

if(x[j+1]>x[j]) {k=x[j];x[j]=x[j+1];x[j+1]=k;} for(i=0;i<3;i++)

for(j=4;j<7-i;j++)

if(x[j+1]>x[j]) {k=x[j];x[j]=x[j+1];x[j+1]=k;} for(i=0;i<3;i++)

for(j=4;j<7-i;j++)

if(x[j]>x[j+1]) {k=x[j];x[j]=x[j+1];x[j+1]=k;} for(i=0;i<8;i++) printf("%d",x[i]);

}

7./*写出下面程序执行后的运行结果*/

#include

void main()

{ int a[6][6],i,j;

for(i=1;i<6;i++)

for(j=1;j<6;j++)

a[i][j]=(i/j)*(j/i);

for(i=1;i<6;i++) {

for(j=1;j<6;j++)

printf("%2d",a[i][j]);

printf("\n");

}

}

8./*写出下面程序执行后的运行结果*/

#include

void main()

{ int a[3][3]={{1},{2},{3}};

int b[3][3]={1,2,3};

printf("%d",a[1][0]+b[0][1]);

printf("%d\n",a[0][1]+b[1][0]);

}

9./*写出下面程序执行后的运行结果*/

#include

void main(

{ int a[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}}; int i=0;j=0;s=0;

while(i++<4) {

if(i==2||i==4) continue;

j=0;

do { s+=a[i][j];j++} while(j<4);

}

printf("%d",s);

}

10./*写出下面程序执行后的运行结果*/

#include

void main()

{ int a[3][3]={1,4,17,3,6,19,2,5,18},i,s=0;

for(i=0;i<=2;i++)

s=s+a[i][2-i];

printf("s=%d",s);

}

11./*写出下面程序执行后的运行结果*/ #include

void main()

{ int b[3][3]=(0,1,2,0,1,2,0,1,2},i,j,t=1;

for(i=0;i<3;i++)

for(j=i;j<=i;j++) t=t+b[i][b[j][j]];

printf("%d",t);

}

12. /*写出下面程序执行后的运行结果*/ #include

void main()

{ int i,j,a[4][4];

for(i=0;i<4;i++)

for(j=0;j<4;j++) a[i][j]=1+i-j;

for(i=0;i<4;i++) {

for(j=0;j<4;j++)

if(a[i][j]>0) printf("%3d",a[i][j]);

putchar('\n');

}

}

13./*写出下面程序执行后的运行结果*/ #include

void main()

{ int a[4][3]={{1,2,3},{-2,0,2},{1,0,1},{-1,2,-3}}; int b[3][2]={{-1,3},{-2,2},{2,1}};

int c[4][2],i,j,k,s;

for(i=0;i<4;i++) {

for(k=0;k<2;k++) {

s=0;

for(j=0;j<3;j++)

s+=a[i][j]*b[j][k];

c[i][k]=s;

printf("%4d",s);

}

printf("\n");

}

14./*写出下面程序执行后的运行结果*/ #include

void main()

{ int i,j,a[][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)

for(j=i+1;j<3;j++) a[j][i]=0;

for(i=0;i<3;i++) {

for(j=0;j<3;j++) printf("%d",a[i][j]);

printf("\n");

}

}

15. /*写出下面程序执行后的运行结果*/ #include

void main()

{ char a[8]={' '},t;

int j,k;

for(j=0;j<5;j++) a[j]=(char)('a'+j);

for(j=0;j<4;j++) {

t=a[4];

for(k=4;k>0;k--) a[k]=a[k-1];

a[0]=t;

}

printf("%s",a);

}

16. /*写出下面程序执行后的运行结果*/ #include

void main()

{ char s[80]; int i=0;

gets(s);

while(s[i]!='\0') {

if(s[i]<='z'&&s[i]>='a')

s[i]='z'+'a'-s[i];

i++;

}

puts(s);

17. /*写出下面程序执行后的运行结果*/ #include

void main()

{ int i=0;

char a[]="abm",b[]="aqid",c[10];

while(a[i]!='\0'&& b[i]!='\0') {

if(a[i]>=b[i]) c[i]=a[i]-32;

else c[i]=b[i]-32;

i++;

}

c[i]='\0';

puts(c);

}

18./*写出下面程序执行后的运行结果*/ #include

void main()

{ int i=0;

char c,s[]="SABC";

while(c=s[i]) {

switch(c) {

case 'A':i++;break;

case 'B':++i;

default:putchar(c);i++;

}

putchar('*');

}

}

19. /*写出下面程序执行后的运行结果*/ #include

void main()

{ int i,c; char s[2][5]={"1980","9876"};

for(i=3;i>=0;i--) {

c=s[0][i]=s[1][i]-2*'0';

s[0][i]=c%10;

}

for(i=0;i<=1;i++) puts(s[i]);

}

20./*写出下面程序执行后的运行结果*/

#include

void main()

{ char ch[]="abc",x[3][4];int i;

for(i=0;i<3;i++) strcpy(x[i],ch);

for(i=0;i<3;i++) printf("%s",x[i][i]);

}

四、程序填空题1-20

/*1.下面程序的功能是将十进制整数n转换成base进制。请填空使程序完整、正确*/

#include

void main()

{int i=0,base,n,j,num[20];

scanf("%d",&n);

scanf("%d",&base);

do{

i++;

num[i]=【1】;

n=【2】;

}while(n!=0);

for(【3】)

printf("%d",num[j]);

}

/*2.下面程序的功能是输入10个数,找出最大值和最小值所在的位置,并把两者对调,然后输出调整后的10个数。请填空使用程序完整、正确。*/

#include

void main()

{

int a[10],max,min,i,j,k;

for(i=0;i<10;i++) scanf("%d",&a[i]);

max=min=a[0],j=k=0;

for(i=0;i<10;i++) {

if(a[i]

if(a[i]>max) {max=a[i];【2】;}

}

【3】;

for(i=0;i<10;i++) printf("%d",a[i]);

}

/*3.下面程序的功能是将数组输入数据,逆序置换后输出。逆序置换是指数组的首元素和

末元素置换,第二个元素和倒数第二个元素置换……请填空使用程序完整、正确。*/

#include

#define N 8

void main()

{ int i,j,t,a[M];

for(i=0;i

i=0;j=N-1;

while(i

t=a[i],【1】,a[i]=t;

i++,【2】;

}

for(i=0;i

}

/*4.下面程序的功能是用“两路合并法”把两个已按升序(由小到大)排列的数组合并成一个新的升序数组。请填空使程序完整、正确。*/

#include

void main()

{ int c[10],i=0,j=0,k=0;

int a[3]={5,9,10};int b[5]={12,24,26,37,48};

while(i<3 && j<5)

if(【1】) {

c[k]=b[j];k++;j++;

}

else {

c[k]=a[i];k++;i++;

}

while (【2】) {

c[k=ai];i++;k++;

}

while(【3】) {

c[k]=b[j];j++;k++;

}

for(i=0;i

}

/*5.下面程序的功能是读入n(n<=10)个整数并放入一个数组r中,统计并输出比相邻元素小的数组元素的个数。请填空使程序完整、正确。*/

#include

void main()

{ int k,count,n,r[10];

scanf("%d",&n):

for(k=0;k

scanf("%d",&r[k]);

【1】;

for(k=1;k

if(【2】) count++;

if(【3】) count++;

if(r[n-1]

printf("count=%d",count);

}

/*6.下面程序的功能是用“顺序查找法”查找数组a中是否存在某一关键字。请填空使程序完整、正确。*/

#include

void main()

{ int a[10]={2557,48,371,123,291,18,22,44}; int i=0,x;

scanf("%d",&x);

【1】;

while(a[i]!=x) i++;

if(【2】) printf("找到在%d",i);

else printf("找不到!");

}

/*7.下面程序的功能是用“插入法”对数组a进行由大到小的排序。请填空使程序完整、正确。

提示:简单插入排序算法的基本思想是将数组处理n-1,第k次处理时,前面的元素插入到目前的位置。第k次的元素是这样插入的:在第k次处理时,前面的元a[0],a[1],……a[k-1]必定已排成了升序,将a[k]与a[k-1],a[k-2],……a[0]逐个比较(由后向前),若有a[j]

#include

void main()

{ int a[10]={191,3,6,4,11,7,25,13,89,10};int i,j,k;

for(i=1;i<10;i++) {

k=a[i];

j=【1】;

while(j>=0 && k>a[j]) {

【2】;

j--;

}

【3】=k;

}

for(i=0;i<10;i++) printf("%d",a[i]);

}

/*8.下面程序的功能是从键盘读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空使程序完整、正确。*/

#include

void main()

{ int i,a[20],sum,count;

sum=count=0;

for(i=0;i<20;i++) scanf("%d",【1】);

for(i=0;i<20;i++) {

if(a>0) {

count++;

sum+=【2】;

}

}

printf("sum=%d,count=%d",sum,count);

}

/*9.下面程序的功能是求矩阵a,b的乘积,结果存放在矩阵C中并按矩阵形式输出,请填空使程序完整、正确。*/

#include

void main()

{

int a[3][2]={2,10,9,4,5,119},b[2][2]={-1,-2,-3,-4};

int i,j,k,s,c[3][2];

for(i=0;i<3;i++)

for(j=0;j<2;j++) {

【1】;

for(k=0;k<2;k++)

s+=【2】;

c[i][j]=s;

}

for(i=0;i<3;i++){

for(j=0;j<2;j++)

printf("%6d",c[i][j]);

【3】;

}

}

/*10.下面程序的功能是求出矩阵a的主对角线上的元素之和。请填空使程序完整、正确。*/

#include

void main()

{ int a[3][3]={1,3,5,7,9,11,13,15,17};

int sum=0,i,j;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

if(【1】)

sum=sum+【2】;

printf("sum=%d",sum);

}

/*11.下面程序的功能是将二维数组a中每个元素向右移一列,最右一列换到最左一列,移后的结果保存到b数组中,并按矩阵形式输出a和b 。请填空使程序完整、正确。

*/

#include

void main()

{ int a[2][3]={{4,5,6},{1,2,3}},b[2][3],i,j;

for(i=0;i<2;i++){

for(j=0;j<2;j++)

【1】;

}

for(【2】) b[i][0]=a[i][2];

for(i=0;i<2;i++) {

for(j=0;j<3;j++)

printf("&5d",b[i][j]);

【3】;

}

}

/*12.下面程序的功能是利用二维数组形成一个五行的杨辉三角形。请填空使程序完整、正确。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

*/

#include

#define N 5

void main()

{ int m,n,a[N][N];

for(m=0;m

a[m][0]=a[m][m]=【1】;

for(n=1;n

a[m][n]=a[m-1][n-1]+【2】;

}

for(m=0;m

for(n=0;n<=m;n++)

printf("%2d",a[m][n]);

[3];

}

}

/*13.下面程序的功能是输出如下形式的方阵。请填空使程序完整、正确。

13 14 15 16

9 10 11 12

5 6 7 8

1 2 3 4

*/

#include

void main()

{ int i,j,x;

for(j=4;[1];j--) {

for(i=1;i<=4;i++) {

x=(j-1)*4+[2];

printf("%4d",x);

}

printf("\n");

}

}

/*14.下面程序的功能是在3行4列的二维数组中找出每一行上的最大值并输出。请填空使程序完整、正确。*/

#include

void main()

{ int x[3][4]={1,5,7,4,2,6,4,3,8,2,3,1},i,j,p ;

for(i=0;i<3;i++) {

p=[1];

for(j=1;j<4;j++)

if(x[i][p]

printf("第%d行最大值为%\n",i[3]);

}

}

/*15.下面程序的功能是按以下形式输出数组右上半三角。请填空使程序完整、正确。

1 2 3 4

6 7 8

11 12

*/

#include

void main()

{ int num[4][4]={{,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16},i,j;

for(i=0;i<4;i++) {

for(j=0;j<=i;j++) printf("%4c",' ');

for(j=[1];j<4;j++) printf("%4d",num[i][j]);

printf("\n");

}

}

/*16.下面程序的功能是使用二维数组形成并按下列形式输出数据。请填空使程序完整、正确。

0 1 2 3 4

1 2 3 4 5

2 3 4 5 6

3 4 5 6 7

4 5 6 7 8

*/

#include

void main()

{ int i,j,[1];

for(i=0;i<5;i++)

for(j=0;j<5;j++) a[i][j]=[2];

for(i=0;i<5;i++) {

for(j=0;j<5;j++) printf("%2d",a[i][j]);

printf("\n");

}

}

/*17.下面程序的功能是在一个字符串中查找一个指定的字符,若字符串中包含该字符则输出该字符在字符串中第一次出现的位置(下标值),否则输出-1。请填空使程序完整、正确。*/

#include

#include

void main()

{ char c='a',t[50];int len,j,k;

gets(t);

len=[1];

for(k=0;k

if([2]) { j=k;break;}

printf("%d",j);

}

/*18.下面程序的功能是将字符串b的内容连接字符数组a的内容后面,形成新字符串a,请填空使程序完整、正确。*/

#include

void main()

{ char a[40]="Great ",b[]="Wall";

int i=0,j=0;

while (a[i]!='\0') i++;

while ([1]) {

a[i]=b[j];i++;j++;

}

[2];

printf("%s",a);

}

/*19.下面程序的功能是将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变。请填空使程序完整、正确。*/

#include

#include

void main()

{ char a[]="clanguage",t;int i,j,k;

k=strlen(a);

for(i=0;i<=k-2;i+=2)

for(j=i+2;j<=k;[1])

if([2])

{ t=a[i];a[i]=a[j];a[j]=t;}

puts(a);

}

/*20.下面程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。例如,输入字符串:abcd123edf456gh,执行程序后输出:123456。请填空使程序完整、正确。*/

C语言练习题(带答案)-绝对经典题目不看后悔

1单选题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键

C语言常见复习题(选择填空)及参考答案

C语言常见复习题及参考答案 一、选择题 1.下述标识符中,()是合法的用户标识符。 A.A#C B.getch C.void D.ab* 2.在C语言中,字符型数据在内存中是以()形式存放的。 A.原码 B.BCD码 C.反码 D.ASCII码 3.以下选项中不合法的用户标识符是()。 A.abc.c B.file C.Main D.PRONTF 4.以下选项中不合法的用户标识符是()。 A.123 B.printf C.Anbsp; D.Dim 5.可以在C语言程序中用做用户标识符的一组标识符是()。 A.void B.as-b3 C.for D.2c define -123 -abc Do WORD If cas SIG 6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。 (1)A.001 B.table_1 C.0_t D.k% Int t*.1 W10 point (2)A.Fast_ B.void C.pbl D. Fast+Big abs fabs beep (3)A.xy_ B.longdouble C.*p D.CHAR 变量1 signed history Float 7.()是构成C语言的基本单位。 A.函数 B.过程 C.子程序 D.子例程 8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。

(1).A.包含3个字符 B.包含2个字符 C.包含1个字符 D.无定值,说明不合法 (2).A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 (3).A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 9.若x为int型变量,则执行以下语句后,x的值为 x=6; x+=x-=x*x A.36 B.-60 C.60 D.-24 10.在C语言中,char 型数据在内存中是以()形式存储的。 A.原码 B.补码 C.ASCII码 D.反码 11.以下运算符中优先级最低的算符为(),优先级最高的为()。 A.&& B.& C.|= D.|| E.?: F.!= 12.若有运算符>、*=、<<、%、sizeof,则它们按优先级(由低至高)的正确排列顺序为 A.*= << > % sizeof B.<< *= > % sizeof C.*= > << sizeof % D.*= > << % sizeof 13.若有以下类型说明语句 char w; int x; float y; double z; 则表达式w*x+z-y 的结果是()类型。 A.float B.char C.int D.double 14.若w,x,y,z 均为int 型变量,则执行下面的语句后, w=(1), x=(2), y=(3), z=(4)。 w=5; x=4; y=w++*w++*w++; z=--x*=--x*--x;

c语言第1章练习题答案

第一章 C语言概述练习题 一、选择题 1.C语言是一种( )。 A) 机器语言B) 汇编语言C) 高级语言 D) 低级语言 2.下列各项中,不是C语言的特点是( )。 A) 语言简洁、紧凑,使用方便B) 数据类型丰富,可移植性好 C) 能实现汇编语言的大部分功能D) 有较强的网络操作功能 3.下列叙述正确的是( )。 A) C语言源程序可以直接在DOS环境中运行 B) 编译C语言源程序得到的目标程序可以直接在DOS环境中运行 C) C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行 D) Turbo C系统不提供编译和连接C程序的功能 4.下列叙述错误的是()。 A) C程序中的每条语句都用一个分号作为结束符 B) C程序中的每条命令都用一个分号作为结束符 C) C程序中的变量必须先定义,后使用 D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 5.一个C程序的执行是从()。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 6.以下叙述不正确的是()。 A) 一个C源程序必须包含一个main函数 B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 7.C语言规定:在一个源程序中,main函数的位置( )。 A)必须在程序的开头B)必须在系统调用的库函数的后面 C)可以在程序的任意位置D)必须在程序的最后 8.一个C语言程序是由( )。 A)一个主程序和若干个子程序组成B) 函数组成 C) 若干过程组成D) 若干子程序组成 9.以下有4组用户标识符,其中合法的一组是()。 A) For B) 4d C) f2_G3 D) WORD -sub DO IF void Case Size abc define 10. 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是 ()。

C语言考试题库及答案复习整理

C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C 语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是 ________D____. A) true B) 非零值 C) 0 D) 1 5、C 语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC 码 D) ASCII 码 7、C 语言程序的基本单位是_____C______. A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句

a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 3 D) 不确定的值 12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是______A_____. #include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 13、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a

C语言函数习题及答案

第6章函数习题 一、选择题 1. 一个完整的C源程序是【】。 A)要由一个主函数或一个以上的非主函数构成 B)由一个且仅由一个主函数和零个以上的非主函数构成 C)要由一个主函数和一个以上的非主函数构成 D)由一个且只有一个主函数或多个非主函数构成 2. 以下关于函数的叙述中正确的是【】。 A)C语言程序将从源程序中第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D)main可作为用户标识符,用以定义任意一个函数 3. 以下关于函数的叙述中不正确的是【】。 A)C程序是函数的集合,包括标准库函数和用户自定义函数 B)在C语言程序中,被调用的函数必须在main函数中定义 C)在C语言程序中,函数的定义不能嵌套 D)在C语言程序中,函数的调用可以嵌套 4. 在一个C程序中,【】。 A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置 5. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【】 A)float B)long C)int D)double 6. 以下关于函数叙述中,错误的是【】。 A)函数未被调用时,系统将不为形参分配内存单元 B)实参与形参的个数应相等,且实参与形参的类型必须对应一致 C)当形参是变量时,实参可以是常量、变量或表达式 D)形参可以是常量、变量或表达式 7. C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是 【】。 A)参数的形实(哑实)结合 B)函数返回值 C)全局变量 D)同名的局部变量 8. 若函数调用时参数为基本数据类型的变量,以下叙述正确的是【】。 A)实参与其对应的形参共占存储单元 B)只有当实参与其对应的形参同名时才共占存储单元 C)实参与对应的形参分别占用不同的存储单元

大学C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

C语言上机作业题及答案

实验一: 1、已知华氏温度,根据转换公式计算相应的摄氏温度。 摄氏温度= 5*(华氏温度-32)/9 2.任意输入一个有五位数字的正整数,逆序输出每一数位上的数字。 如: 输入 12345 输出 5 4 3 2 1 #include"stdio.h" main() { double t,T; printf ("已知华氏温度,根据转换公式计算相应的摄氏温度"); scanf ("%lf",&t); T=(5*(t-32)/9); printf ("摄氏温度=%lf",T); } #include"stdio.h" main() { int value,a,b,c,d,e,m,n,h; printf ("任意输入一个有五位数字的正整数,逆序输出每一数位上的数字"); scanf ("%d",&value); a=value/10000; m=value%10000; b=m/1000; n=m%1000; c=n/100; h=n%100; d=h/10; e=h%10; printf ("%d%d%d%d%d",e,d,c,b,a); } 实验二: 1.一个成年人的身高与其父母的身高密切相关,根据以下人体标准身高预测公式计算自己或某个同学的身高,并跟实际身高比较,给出结论是否符合该公式(误

差在3厘米范围内即视为相符)。 男性身高=(父亲身高+母亲身高)×1.08÷2(厘米) 女性身高=(父亲身高×0.923+母亲身高)÷2(厘米) 2.从键盘上输入税前收入,根据以下公式及规则,计算个人所得税税额并输出。应纳个人所得税税额=(税前收入—起征点额度)*适用税率—速算扣除数 其中,起征点额度是3500元,其他如下: 应纳税所得额税率速算扣除数 不超过1500元的部分 3% 0 超过1500元至4500元的部分 10% 105 超过4500元至9000元的部分 20% 555 超过9000元至35000元的部分 25% 1005 超过35000元至55000元的部分 30% 2755 超过55000元至80000元的部分 35% 5505 超过80000的部分 45% 13505 如:某人月收入5000元,则应纳个人所得税税额为(5000-3500)* 10% - 105 = 45元。 #include #include main() { float A,a,H,h,b; printf("父亲身高(厘米)\n"); scanf("%f",&A); printf("母亲身高(厘米)\n"); scanf("%f",&a); printf("孩子实际身高(厘米)\n"); scanf("%f",&H); printf("请选择孩子性别:女=0,男=1\n"); scanf("%f",&b); if(b) h=(A+a)*1.08/2; else h=(A*0.923+a)/2; if(fabs(H-h)<=3) printf("实际身高符合该公式\n"); else

(完整版)C语言程序设计选择题库及答案

单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题, 应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123 C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodb start$it line# pow ??? aBc 3pai His.age while

【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义

c语言第1、2章练习题答案

第1、2章练习题 1.以下叙述正确的是()。B A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如fun(fun(x)) C)C语言函数不可以单独编译D)C语言除了main函数外,其他函数不可以作为单独文件形式存在 2.以下叙述正确的是()。C A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句 C)简单的C语句必须以分号结束D)C语句必须在一行内写完 3.以下叙述中正确的是()。C A)C程序中的注释只能出现在程序的开始位置和语句的后面 B)C程序书写格式严格,要求一行内只能写一条语句 C)C程序书写格式自由,一条语句可以写在多行上 D)用C语言编写的程序只能放在一个程序文件中 4.下列叙述中错误的是()。A A)一个C语言程序只能实现一种算法B)C语言程序可以由多个程序文件组成 C)C语言程序可以由一个或多个函数组成D)一个C函数可以单独作为一个C程序文件存在5.以下叙述中正确的是()。C 页脚内容1

A)C语言程序将从源程序中的第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序从此开始执行,在此结束 D)main可作为用户标识符,用以命名任意一个函数作为主函数 6.对于一个正常运行的C程序,以下叙述正确的是()。A A)程序的执行总是从main函数开始,在main函数中结束 B)程序的执行总是从程序的第一个函数开始,在main函数结束 C)程序的执行总是从main函数开始,在程序的最后一个函数中结束 D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束7.下列叙述正确的是()。D A)每个C语言程序文件中都必须有一个main( )函数 B)在C语言程序中main( )函数的位置是固定的 C)C语言程序中所有函数之间都可以相互调用,与函数所在的位置无关 D)在C语言程序的函数中不能定义另一个函数 8.下列叙述中错误的是()。B A)C程序在运行过程中所有计算机都以二进制方式进行 B)C程序在运行过程中所有计算机都以十进制方式进行 页脚内容2

(完整版)C语言选择题(附答案)

第一单元C语言概述 一、选择题 1、C语言中主函数的个数为(A)个。 A)1 B)2 C)无穷个D)任意个 2、以下关于C语言描述错误的是(D)。 A)一个C程序总是从main函数开始执行T B)每个语句和数据声明的最后必须有一个分号T C)C语言的注释符是以“/*”开始并以“*/”结束的T D)一个C程序可以包含多个main函数F 3、C 语言源程序文件后缀为(C )。 A).EXE B).OBJ C).C D).ASM 4、C语言是由(C )组成的。 A)子程序B)主程序与子程序C)函数D)过程 5、C语言属于(B )语言 A)机器语言B)汇编语言C)高级语言D)面向对象语言 第二单元C语言基础 一、选择题 1、C语言中普通整型变量int在内存中占(B )字节。 A)1 B)2 C)3 D)4 2、下列不是C语言基本数据类型的是(A )。 A)字符型B) 整型 C) 浮点型D) 结构体 3、有关自增、自减运算,以下只有(D )是正确的。 A) ---f B) ++78 C) a—b++ D) d++ 4、已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (AB)的值是(A )。 A)0 B)10 C)1 D)5

5、若有x=1,y=2,z=3,则表达式(x=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 7、判断整型变量digit是否为数字的正确表达式是(C )。 A) ‘0’<=ch<=‘9’B) (ch>=‘0’)&(ch<=‘9’) C) (ch>=‘0’)&&(ch<=‘9’) D) (‘0’<= ch)AND(‘9’>= ch) 8、一个C程序的执行是从(A )。 A)本程序的main函数开始,到main函数结柬 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 9、在以下标识符中,合法的是(C ) A)if B)0xy C)_xy D)case 10、C语言中各种类型的数据其实决定了占用内存的字节数。float占(C )。 A)一字节B)二字节C)四字节D)八字节 11、下列各选项中,(A )是有效的标识符。 A)ab B)3day C)day-3 D)#abc 12、以下叙述正确的是(C ) A) 在C程序中,每行只能写一条语句 B) 若a是实型变量,C程序中不允许a=10这种赋值。 C) 在C程序中,%是只能用于整数运算的运算符 D) 在C程序中,无论是整数还是实数,没有什么区别 13、有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是( B )。 A)132↙B)1,3,2↙ C)a=1 b=3 c=2↙D)a=1,b=3,c=2↙ 14、设整型变量a为5,使b不为2的表达式是( C )。 A)b = a/2 B)b = 6-(--a) C)b=a%2 D)b=a>3?2:1

C语言练习作业和答案

习题一 1、C语言源程序最多可能由____ABCD____________部分组成? A) 预处理部分B)变量说明部分 C) 函数原型声明部分D)函数定义部分 2、一个完整的C语言源程序最少必须有___C____。 A)若干个主函数B)若干个函数 C)且只能有一个主函数D)一个函数 3、C语言以函数为源程序的基本单位最主要有利于__B_____。 A)程序设计结构化B)程序设计模块化 C)程序设计简单化D提高程序设计有效性 4、要使得C语言编写的程序能够在计算机上运行并得出正确结果,必须要先经过______________B_______________________。 A)编辑和链接B)编译和链接 C)修改和运行D运行并输入数据 5、一个C程序的执行是从______A______。 A)本程序的main函数开始,到main函数结束。 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 6、以下叙述正确的是__A______。 A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写一条语句 C)C语言本身没有输入输出语句 D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 7、以下叙述不正确的是___D_____。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面 8、C语言规定:在一个源程序中,main函数的位置是___A_____。 A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后 习题二 一、程序题 1、阅读程序写运行结果 (1)#include int main()

C语言选择题(含答案)

C语言选择题(含答案) 选择题 1.以下叙述正确的是_____。 A) 在C程序中,main函数必须位于程序的最前面。 B) C语言本身没有输入输出语句。 C) C程序的每行只能写一条语句。 D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误。 2.下面四个选项中,均是不合法的用户标识符的选项是。 A) A B) float C) b-a D) _123 P_0 1a0 goto temp do _A int INT 3、下列四个选项中都是合法的转义字符的 A) ‘\’’‘\\’‘\n’B) ‘\’‘\017’‘\”’ C) ‘\018’‘\f’‘xab’D) ‘\\0’‘\101’‘x1f’ 4、设所有变量均为整型,则表达式z=(a=2,b=5,b++,a+b)的值是: A)7 B)8 C)6 D)2 5、若有代数式,则不正确的C语言表达式是: A) a/b/c*e*3 B) 3*a*e/b/c C) 3*a*e/b*c D) a*e/c/b*3 6、若希望当A的值为奇数时,表达式的值为”真”, A的值为偶数时,表达式的值为”假”。则以 下不能满足要求的表达式是_________。 A) A%2==1 B) !(A%2==0) C) !(A%2) D) A%2 7、以下程序的运行结果是 : main() { int m=6;

if(m++> 6) printf(" %d\n",m); e1se printf("%d\n",--m ); } A)4 B)5 C) 7 D) 6 8、当a=1,b=3,c=5,d=4,执行完下面一段程序后x 的值是 : if(a正确的输出结果为 main() { int x,y,z scanf("%d%d%d",&x,&y,&z ); printf(“x+y+z=%d\n” ,x+y+z);。 } A)x+y+z=48 B)x+y+z=35 C)x+y+z=35 D)不确定值 10、已知各变量的类型说明如下 int k,a,b; unsigned long w= 5; double x=1.42; 则以下不符合C语言语法的表达式是 : A) x%(-3) B) w+=-2

C语言练习题 带答案

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D)。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

C语言题库及答案(选择题)

C语言题库(选择题) 1.C语言源程序的基本单位是()。 A.过程 B.函数 C.子程序 D.标识符 2.下列字符序列中,可用作C标识符的一组字符序列是()。 A. S.b,sum,average,_above B. class,day,lotus_1,2day C. #md,&12x,month,student_n! D. D56,r_1_2,name,_st_1 3.以下标识符中,不能作为合法的C用户定义标识符的是()。 A.a3_b3 B.void C._123 D.IF 4.以下数据中,不正确的数值或字符常量是()。 A.0 B.5L C.o13 D.9861 5.以下数值中,不正确的八进制数或十六进制数是()。 A.0x16 B.16 C.-16 D.0xaaaa 6.以下的选择中,正确的赋值语句是()。 A.a=1,b=2 B.j++ C.a=b=5; D.y=int(x) 7.以下运算符中,优先级最高的运算符是()。 A.?: B.++ C.&& D., 8.在C语言中,能代表逻辑值“真”的是()。 A.TRUE B.大于0的数 C.非0整数 D.非0的数 9.下列变量说明语句中,正确的是()。 A.char:a b c; B.char a;b;c; C.int x;z; D.int x,z; 10.下列字符序列中,不可用作C语言标识符的是()。 A.b70 B.#ab C.symbol D.a_1 11.以下不正确的叙述是()。 A.在C程序中所用的变量必须先定义后使用。 B.程序中,APH和aph是两个不同的变量。 C.若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变。 D.当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。 12.以下标识符中,不能作为合法的C用户定义标识符的是()。 A.For B.Printf C.WORD D.sizeof 13.以下标识符中,不能作为合法的C用户定义标识符的是()。 A.answer B.to C.signed D._if 14.以下标识符中,不能作为合法的C用户定义标识符的是()。 A.putchar B._double C._123 D.INT 15.以下数据中,不正确的数值或字符常量是()。 A.8.9e1.2 B.10 C.0xff00 D.82.5 16.以下数据中,不正确的数值或字符常量是()。 A.c B.66 C.0xaa D.50 17.以下运算符中,优先级最高的运算符是()。

c语言练习题带详解答案

一、编程题 1.输入2个整数,求两数的平方和并输出。 #include int main(void) { intt a ,b,s; printf("please input a,b:\n"); scanf("%d%d”,&a,&b); s=a*a+b*b; printf("the result is %d\n",s); return 0; } 2. 输入一个圆半径r,当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。 #include #define PI 3.14 int main(void)

{ double r ,area , girth; printf("please input r:\n"); scanf("%lf",&r); if (r>=0) { area =PI*r*r; girth =2*PI*r ; printf("the area is %.2f\n", area); printf("the girth is %.2f\n", girth);} else printf("Input error!\n"); return 0; } 3、已知函数y=f(x),编程实现输入一个x值,输出y值。 2x+1 (x<0) y= 0 (x=0)

2x-1 (x>0) #include void main() { int x,y; scanf(“%d”,&x); if(x<0) y=2*x+1; else if(x>0) y=2*x-1; else y=0; printf(“%d”,y); } 4.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。 #include void main(){ int data;

C语言试题库(带详细讲解答案)

一单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)

6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D 中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3) 9.C语言中的简单数据类型包括(D)。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C。 A)2.5 B)2 C)1 D)3 详见教材P52~53. %为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1;5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1; /为求商运算符,该运算符能够对整型、字符、浮点等类型的数据进行运算,5/2=2 11.如果int a=3,b=4;则条件表达式"a

c语言作业题一答案.

作业题一 一、单项选择题 1.以下的选择中,正确的赋值语句是(。 A a=1,b=2 B j++ C a=b=5; D y=int(x 答案:C 2.先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是(。 A c='a'; B c="a"; C c="97"; D C='97' 答案:A 3.以下不符合C语言语法的赋值语句是(。 A a=1,b=2 B ++j; C a=b=5; D y=(a=3,6*5;

答案:A 4.以下不符合C语言语法的赋值语句是(。 A j++; B j=j=5; C k=2*4,k*4; D y=float(j; 答案:D 5.若有以下定义:char s='\092'; 则该语句(。 A 使s的值包含1个字符 B 定义不合法,s的值不确定 C 使s的值包含4个字符 D 使s的值包含3个字符 答案:B 6. 表达式18/4*4.0/8值的数据类型为(。 A int B float C double D 不确定 答案:C

7.以下数据中,不正确的数值或字符常量是(。 A 0 B 5L C o13 D 9861 答案:C 8.以下数值中,不正确的八进制数或十六进制数是(。 A 0x16 B 16 C -16 D 0xaaaa 答案:C 9.以下数据中,不正确的数值或字符常量是(。 A 8.9e1.2 B 10 C 0xff00 D 82.5 答案:A 10.设C语言中,int类型数据占2个字节,则long类型数据占(。

A 1个字节 B 2个字节 C 4个字节 D 8个字节 答案:C 11.设C语言中,int类型数据占2个字节,则short类型数据占(。 A 1个字节 B 2个字节 C 4个字节 D 8个字节 答案:B 12.C语言中,double类型数据占(。 A 1个字节 B 2个字节 C 4个字节 D 8个字节 答案:D 13.C语言中,char类型数据占(。 A 1个字节

C语言试题选择题及答案

★第1 题: 阅读程序,选择程序的运行结果___A___。 #include main() { int x; x=try(5); printf(“%d\n”, x); } try(int n) { if(n>0) return(n*try(n-2)); else return(1); } A. 15 B. 120 C. 1 D. 前面3个答案均是错误的 第2 题: 在下列结论中,只有一个是正确的,它是___A___。 A. 递归函数中的形式参数是自动变量 B. 递归函数中的形式参数是外部变量 C. 递归函数中的形式参数是静态变量 D. 递归函数中的形式参数可以根据需要自己定义存储类型 ★第3 题: 阅读程序,选择程序的输出结果__A___。 #include f(int x, int y) { return(y-x); } main() { int (*g)(int,int); int a=5, b=6, c=2;

g=f; c=(*g)(a,b); printf(“%d\n”, c); } A. 1 B. 2 C. 3 D. 前面3个答案均是错误的 第4 题: 阅读程序,选择程序的输出结果__D___。#include char *p=”abcdefghijklmnopq”; main() { while(*p++!=’e’) ; printf(“%c\n”, *p); } A. c B. d C. e D. f ★第6 题: 阅读程序,选择程序的输出结果___D___。#include void prtv(int *x) { printf(”%d\n”, ++*x); } main() { int a=25; prtv(&a); } A. 23

相关主题
文本预览
相关文档 最新文档