文档库 最新最全的文档下载
当前位置:文档库 › C题库

C题库

C题库
C题库

填空题:

2 /*[例3.7] 已知圆柱体的底半径为r,高为h,求其体积*/

/*功能:函数scanf()的格式及作用。*/

main()

{float __1__

float pi=3.1415926;

printf("Please input r & h : ");

scanf("%f%f",__2__);

/*从键盘输入两个实数赋给变量r,h*/

v=__3__ ;

printf("radius=%7.2f, high=%7.2f, vol=%7.2f\n",r,h,v);

}

1. r,h,v;

2.&r,&h

3.pi*r*r*h

3 /*[例3.10] 求方程ax2+bx+c=0的实数根。其中a、b、c由键盘输入,a≠0且 b2-4ac>0*/

/*功能:设计一个顺序结构程序,求二次方程的根。提示b方减4ac*/

#include "math.h" /*为求sqrt(),包含math.h头文件 */

main()

{float a,b,c,disc,x1,x2;

printf("Input a, b, c: ");

scanf("__1__",&a,&b,&c);

__2__; /*求判别式的值赋给disc*/

x1=(-b+sqrt(disc))/(2*a);

x2=(-b-sqrt(disc))/(2*a);

printf("\nx1=%6.2f\nx2=%6.2f\n",x1,__3__);

}

1.%f%f%f

2.disc=b*b-4*a*c

3.x2

4 /*[例3.11] 从键盘输入一个小写字母,要求用大小写字母形式输出该字母及对应的ASCII码值*,要求用getchar函数录入一个字母/

#include "stdio.h"

main()

{char c1,c2;

printf("录入一个小字的字母: ");

__1__;

putchar(c1);printf(",%d\t",c1);

c2=__2__; /*将小写字母转换成对应的大写字母*/

printf("%c,%d\n",__3__,c2);

}

1.c1=gcetchar()

2.c1-32

3.c2

5 /*[例3.12] 输入任意三个整数,求它们的和及平均值*/操作三个变量的顺序请按照num1,num2,num3这个顺序

main()

{int num1,num2,num3,sum;

float aver;

printf("please input three numbers:");

scanf("%d,%d,%d",__1__);

__2__;

__3__=sum/3.0;

printf("num1=%d,num2=%d,num3=%d\n", num1,num2,num3);

printf("sum=%d,aver=%7.2f\n",__4__);

}

1. &num1,&num2,&num3

2.sum= num1+num2+num3

3. aver

4.sum, aver

55 /*[例4.1] 输入任意三个整数num1、num2、num3,求三个数中最大值*/ main()

{int num1, num2, num3, __1__;

printf("Please input three numbers:");

scanf("%d,%d,%d",&num1,&num2,&num3);

if(__2__)

max=num1;

else

max=num2;

if(__3__)

__4__;

printf("The three numbers re:%d,%d,%d\n",num1,num2,num3);

printf("max=%d\n",max);

}

1.max

2.num1>num2

3.maxmax

4.max=num3

7/*[例4.2]输入任意三个数num1、num2、num3,按从小到大的顺序排序输出*/ main()

{int num1,num2,num3,temp;

printf("Please input three numbers:");

scanf("%d,%d,%d",&num1,&num2,&num3);

if (__1__) {temp=num1;num1=num2;__2__;}

if (num2>num3) {temp=num2;num2=num3;num3=temp;}

if (__3__) {temp=num1;__4__;num2=temp;}

printf("Three numbers afte sorted:%d,%d,%d\n",num1,num2,num3);

}

1. num1>num2

2. num2=temp

3. num1>num2

4. num1=num2

8 /*[例4.3] 写一程序,从键盘上输入年份year,判断其是否闰年*/

/*闰年的条件是:能被4整除、但不能被100整除,或者能被400整除*/ main()

{int year,__1__; /*预置为非闰年*/

printf("Please input the year:");

scanf("%d",&year);

if (__2__)

{if (year%100!= 0) leap=__3__;}

else

{if (year%400==0) leap=1; }

if (__4__) printf("%d is a leap year.\n",year);

else printf("%d is not a leap year.\n",year);

}

1. leap=0

2. year%4==0

3. 1

4. leap

9 /*[例4.4] 从键盘上输入一个字符,如果它是大写字母,则把它转换成小写字母输出;否则直接输出*/

main()

{ char ch;

printf("Input a character: ");

scanf(__1__);

ch=(ch>='__2__' && ch<='__3__') ? (ch+32) : __4__;

printf("ch=%c\n",ch);

}

1. "%c",&ch

2. A

3. Z

4. ch

10 /*[例5.1] 求1~100的累计和*/

main()

{ int i,__1__;

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

sum +=__3__; /*实现累加*/

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

}

1. sum=0

2. 100

3.i

11 /*[例5.2] 求n的阶乘n!(n!=1*2*……*n)*/

main()

{ int i, n;

long __1__; /*将累乘器fact初始化*/

printf("Input n: ");

scanf("%d", &n);

for(__2__; i<=n; __3__)

__4__*= i; /*实现累乘*/

printf("%d ! = %ld\n", n, fact);

}

1.fact=1

2.i=1

3.i++

4.fact

12 /*[例5.3] 用do-while语句求解1~100的累计和*/

main()

{ int __1__,__2__; /*初始化循环控制变量i和累计器sum*/

while( i<=100 )

{ sum += i; /*实现累加*/

__3__; /*循环控制变量i增1*/

}

printf("累和=%d\n",__4__);

}

1.i=1

2. sum=0

3. i++

4.sum

13 /*[例5.4] 用do-while语句求解1~100的累计和*/

main()

{ int i=1, sum=0; /*定义并初始化循环控制变量,以及累计器*/

__1__

{ __2__ += i; /*累加*/

__3__; }

while(i<=__4__); /*循环继续条件:i<=100*/

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

}

1. do

2. sum

3. i++

4. 100

41 ___1___ 3.1415926 /*定义宏PI*/

main()

{float radius,length,area,volume;

printf("Input a 半径: ");

___2___;

length=2*PI*radius; /*引用无参宏求周长*/

__3__=PI*radius*radius; /*引用无参宏求面积*/

volume=PI*radius*radius*radius*3/4; /*引用无参宏求体积*/

printf("length=%.2f,area=%.2f,volume=%.2f\n", length, area, volume);

}

1. #define PI

2. scanf("%f",&radius)

3. area

17 /*[例6.1] 从键盘上任意输入10个整数,要求按从小到大的顺序在屏幕上显示*/

#include "stdio.h"

#define __1__ /*定义符号常量(数据个数N)*/

main()

{ int data[NUM]; /*定义1个一维整型数组data*/

int i,j,__2__; /*定义循环变量和临时变量*/

clrscr(); /*库函数clrscr():清屏*/

printf("Please input 10 numbers:\n");

for(i=0; i

scanf("%d", __3__);

for(i=0; i

for(j=NUM-1; j>i; j--)

} /*内循环:进行每趟比较*/

if(data[j]

data[j]=data[j-1];

data[j-1]= __4__;

}

/*输出排序后的数据*/

printf("\nthe result of sort:\n");

for(i=0; i

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

getch();

/*等待键盘输入任一字符,目的使程序暂停*/

}

1. NUM 10

2. temp

3. &data[i]

4.temp

16 /*例6.2] 从键盘输入20个整数,检查整数10是否包含在这些数据中,若是的话,它是第几个被输入的*/

# include "stdio.h"

main()

{int data[20] , i ;

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

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

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

if(__2__)

{ printf("10 is input the postion %d \n" , i+1) ; __3__ ;

}

}

1. 20

2. data[i]==10

3.break

18 /*[例6.5] 已知一个3×4矩阵,要求编写程序求出矩阵中所有元素中的最大值,并找出其所在的位置,即行号和列号*/

# include "stdio.h"

main()

{ int i , j , r , c , max ;

int __1__={1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12} ;

__2__=a[0][0];

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

for(j=0 ; __3__ ; j++)

if(a[i][j]>max)

max=a[i][j] , r=i+1 , c=j+1 ; /* 用逗号表达式实现对最大值 max 、行号 r 、列号c 赋值 */

printf("max=%d,r=%d,c=%d",max,r,c);

}

1. a[3][4]

2. max

3. j<4

20 /*[例6.7] 从终端键盘输入一字符串,并复制到另一字符数组后显示出来*/

# include "stdio.h"

main()

{ char str1[30] , str2[30] ;

int i ;

printf("input a string:") ;

scanf("%s" , __1__) ;

i=0 ;

while(str1[i]!='\0')

{ __2__ ;

i++ ;

}

__3__='\0' ;

printf("__4__" , str2) ;

1. str1

2. str2[i]=str1[i]

3. str2[i]

4.%s

}

22 /*[例7.1] 定义一个函数,用于求两个数中的大数*/

int max(int n1,__1__) /*定义一个函数max()*/

{ return (__2__?n1:n2);

}

main()

{ int max(int n1, int n2); /*函数说明*/

int num1,num2;

printf("input two numbers:\n");

scanf("%d%d", &num1, &num2);

printf("max=%d\n", __3__);

getch(); /*使程序暂停,按任一键继续*/

}

1. int n2

2. n1>n2

3.max(num1,num2)

47 P 设变量a、b为整型,以下语句可以不借助任何变量把a、b的值交换,请填空。

main()

{a+=__1__; b=a-__2__; a-= __3__;

}

1. b

2. b

3.b

50 P 下面程序段是找出整数的所有因子,请填空。

main()

{ scanf("%d",&x);

i=1;

for (;__1__)

{ if (__2__) printf("%3d ",i);

i++;

}

}

1.i<=x;

2.x%i==0

46 /*程序功能:实现动态数组*/

#include "alloc.h"

#include "stdlib.h"

main()

{ int *array=NULL, num, i;

printf("Input the number of element: "); /*提示输入元素的个数*/ scanf("%d", &num);

array=(int *)__1__(__2__(int)*num);/*申请动态数组使用的内存块*/

if (__3__) /*内存申请失败:提示,退出*/

{ printf(" press any key to quit……");

exit(0);

}

printf("Input %d elements: ", num);/*提示输入元素值*/

for (i=0; i

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

printf("%d elements are: ", num);/*输出刚输入的num个数据*/

for (i=0; i

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

printf("\b "); /*删除最后一个数据后的分隔符","*/

free(__4__); /*释放由malloc()函数申请的内存块*/

}

1. malloc

2. sizeof

3.array==NULL

4. array

21 /*[例6.8] 由终端键盘输入一字符串,要求从该串中删去一字符*/

main()

{ char str1[50] , str2[50] ;

char ch ;

int i=0 , k=0 ;

gets(__1__) ;

printf(" \n delete?") ;

scanf(__2__) ;

for(i=0 ; __3__!='\0' ; i++)

{if(str1[i]!=ch)

str2[i-k]=str1[i] ;

else k=k+1 ;

}

str2[__4__]='\0' ;

printf("\n%s\n" , str2) ;

}

1. str1

2. "%ch",&ch

3. str1[i]

4. i-k

48 P 下面程序段统计从键盘输入的字符中数字字符的个数,换行符结束,请

填空:

int n=0,c:

c=getchar();

while(__1__)

{if(__2__) n++ 或者 __3__

c=getchar();}

1. c!=’\n’

2. c>=48&&c<=57

3.c>=’0’&&c<=’9’

24 /*[例7.4] 用递归法计算n!*/

/*功能:通过函数的递归调用计算阶乘*/

long power(int n)

{ long f;

if(n>1) f=__1__*n;

else f=__2__;

return(__3__);

}

main()

{int n;

long y;

printf("input a inteager number:\n");

scanf("%d",&n);

y=power(__4__);

printf("%d!=%ld\n",n,y);

getch();

}

1. power(n-1)

2. 1

3. f

4. n

25/*[例7.5] 写一函数,统计字符串中字母的个数*/

/*功能:数组元素作为函数实参*/

int isalp(char c) /*查看传过来的C里面的值是否是字符*/ { if (c>='a'&&c<='z'||c>='__1__'&&c<='__2__')

return(1);

else return(__3__);

}

main()

{ int i,num=0;

char str[255];

printf("Input a string: ");

gets(str);

for(i=0;str[i]!='\0';i++)

if (__4__) num++;

puts(str);

printf("num=%d\n",num);

getch();

}

1. A

2. Z

3. 0

4. isalp(str[i])

53下面程序用变量count统计文件中字符的个数,请在()处填入适当的内容。#include

main()

{FILE *fp;long count=0;

if(fp=fopen(“letter.dat”,(“r”)))= =NULL)

{printf(“cannont open file \n”);exit(0);

}

while(__1__)

{(if(fgetc(fp)! =””) __2__;

}

printf(“count=%ld\n”,count);

__3__

}

1. !feof(fp)

2. count++

3. fclose(fp);

27/*功能:利用全局变量计算长方体的体积及三个面的面积*/

int s1,s2,s3;

int vs(int a,int b,int c) /*值传递按长宽高的顺序*/

{ int v;

v=a*b*c; s1=a*b; s2=b*c; s3=__1__;

return __2__;

}

main()

{int v,l,w,h;

clrscr();

printf("\ninput length,width and height: ");

scanf("%d%d%d",&l,&w,&h);

__3__;

printf("v=%d s1=%d s2=%d s3=%d\n",v,s1,s2,s3);

getch();

}

1. a*c

2. v

3. v=vs(l,w,h)

29 /*程序功能:使用指针变量求解2个整数的升序输出*/

main()

{ int num1,num2;

int *num1_p=&num1, *num2_p=&num2, __1__;

printf("Input the first number: "); scanf("%d",num1_p);

printf("Input the second number: "); scanf("%d",num2_p);

printf("num1=%d, num2=%d\n", num1, num2);

if( *num1_p > *num2_p ) /*如果num1>num2,则交换指针*/

{__2__; num1_p= num2_p; __3__=pointer;}

printf("min=%d, max=%d\n", __4__, *num2_p);

}

1. *pointer

2. pointer =num1_p

3. num2

4. *num1_p

54/*exchange()功能:交换2个形参指针变量所指向的变量的值 */

/*形参:2个,均为指向整型数据的指针变量 */

/*返回值:无 */

__1__ exchange(int *pointer1, int *pointer2)

{ int temp;

temp=*pointer1, __2__, *pointer2=temp;

}

main()

{ int num1,num2,num3;

printf("Input the first number: ");

scanf("%d", &num1);

printf("Input the second number: ");

scanf("%d", &num2);

printf("Input the third number: ");

scanf("%d", &num3);

printf("num1=%d, num2=%d, num3=%d\n", num1, num2, num3);

if(num1

exchange( &num1, &num2 );

if(__3__) exchange( &num1, &num3 );

if(__4__) exchange( &num2, &num3 );

printf("%d, %d, %d\n",num1,num2,num3);

}

1. void

2. *pointer1=*pointer2

3. num1

4. num2

59/*[例3.5] 已知圆半径radius=1.5,求圆周长和圆面积*/

main()

{float radius,length,area,__1__=3.1415926;

radius=1.5; /* 半径*/

__2__=2*pi*radius; /*求圆周长*/

area=__3__ /*求圆面积顺序为pi,r,r*/

printf("radius=%f\n",radius); /*输出圆半径*/

printf("length=%7.2f\t area=%7.2f\n",length,area); /*输出圆周长、面积*/

}

32/*例9.5.2 使用指向数组的指针变量来引用数组元素*/

main()

{ int array[10], *pointer=__1__, i;

printf("Input 10 numbers: ");

for(i=0; i<10; i++,__2__)

scanf("%d", pointer);

printf("\n array[10]: ");

pointer=array; /*使pointer重新指向数组的第一个元素*/

for(i=0; i<10; i++,pointer++)

printf("%d ", __3__); /*使用指向数组的指针变量输出数组*/ printf("\n");

}

1. array

2. pointer++

3. *pointer

33/*例9.5 使用指向数组的指针变量来引用数组元素*/

main()

{ int array[10], *pointer=array, i;

printf("Input 10 numbers: ");

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

scanf("%d", __2__); /*使用指针变量来输入数组元素的值*/

printf("array[10]: ");

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

printf("%d ", *(__3__)); /*使用指向数组的指针变量输出数组*/

printf("\n");

}

1. 10

2. pointer+i

3. pointer

58/*程序功能:使用列指针输出2维数组的任一元素*/

main()

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

int *pointer, row, col; /*定义一个(列)指针变量pointer*/

pointer=array[0]; /*给(列)指针变量pointer赋值*/

printf("Input row = "); scanf("%d",&__1__);

printf("Input col = "); scanf("%d",&__2__);

printf("array[%1d][%1d] = %d\n", row, col, *(pointer+(__3__))); }

1. row

2. col

3.row*4+col

60 下面程序段将输出computer,请填空。

char c[]=“it’s a computer”;int i ,j;

for (i=0;__1__;i++)

{__2__;printf(“%c”,c[j]);}

1. i<=7

2.j=i+7

36 /*[例9.8] 使用字符指针变量表示和引用字符串完成输出*/

main()

{ char __1__="I love Beijing.";

for(; *string!='\0'; __2__) printf("__3__", *string);

printf("\n");

}

1. *string

2. string++

3.%c

49 程序功能是计算:1-3+5-7+……-99+101的值,请填空。

#include

main()

{int i,t=-1,s=0;

for(i=1; i<=101; i+=2)

{__1__; s=s+__2__ ;}

printf(“%d\n”,s);}

1. t=-t

2. t*i

51 设数组中a中元素均为正整数,以下程序段是求a中偶数的个数和偶数的平均值。

main()

{ int a[10]={1,2,3,4,5,6,7,8,9,10},k,s,i;float ave;

For (k=s=i=0; i<10; i++)

{ if (a[i]%2!=0)__1__;

s+=__2__;k++;}

if(k!=0){ave=s/k;printf(“%d,%f\n”,k,ave);}

}

1. continue

2. a[i]

39/*[例5.6] 输出10~100之间的全部素数。*/

main()

{ int i=11, j, counter=0;

for( ; i<=100; i+=2) /*外循环:为内循环提供一个整数i*/

{ for(j=2; j<=i-1; j++) /*内循环:判断整数i是否是素数*/

{ if(i%j==0) /*i不是素数*/

__1__;

} /*强行结束内循环,执行下面的if语句*/

if(i==__2__) /*整数i是素数:输出,计数器加1*/

{ printf("%3d",i);

__3__;

if(__4__==0)

printf("\n"); /*每输出7个数换一行*/

}

}

printf("\ncounter=%d",counter);

}

1. break

2. j

3. counter++

4. counter%7

40/*[例6.1] 从键盘上任意输入10个整数,要求按从小到大的顺序在屏幕上显示*/

#include "stdio.h"

#define __1__ /*定义符号常量(数据个数N)*/

main()

{ int data[NUM]; /*定义1个一维整型数组data*/

int i,j,__2__; /*定义循环变量和临时变量*/

clrscr(); /*库函数clrscr():清屏*/

printf("Please input 10 numbers:\n");

for(i=0; i

scanf("%d", __3__);

for(i=0; i

for(j=NUM-1; j>i; j--) /*内循

if(data[j]

两者的位置*/ {temp=data[j];

data[j]=data[j-1];

data[j-1]=__4__; }

/*输出排序后的数据*/

printf("\nthe result of sort:\n");

for(i=0; i

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

getch();

/*等待键盘输入任一字符,目的使程序暂停*/

}

1. NUM 10

2. temp

3. &data[i]

4. temp

42/*[例6.6] 某班有40个学生考5门课程,求每个学生的平均成绩并输出*/

# define M 40

# define N 5

main()

{ int i , j ;

float s[M][N] , aver[M] , sum ;

for(i=0 ; i

for(j=0 ; j

scanf("%f" , __1__) ;

for(i=0 ; __2__ ; i++) /*计算每个学生的总分和平均分*/

{ sum=0.0 ;

for(j=0 ; j

sum+=s[i][j] ;

__3__ ;

}

for(i=0 ; i

printf ("aver[%d]=%.2f\n" , i +1,aver[i]) ;

}

1. &s[i][j]

2. i

3. aver[i]=s/N

57 /*[例7.3] 计算s=1k+2k+3k+……+N k */

/*功能:函数的嵌套调用*/

#define K 4

#define N 5

long f1(int n,int k) /*计算n的k次方*/

{ long power=n;

int i;

for(i=1;i<__1__;i++) __2__= n;

return __3__;

}

long f2(int n,int k) /*计算1到n的k次方之累加和*/

{ long sum=0;

int i;

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

sum += __4__;

return sum;

}

main()

{printf("Sum of %d powers of integers from 1 to %d = ",K,N); printf("%d\n",f2(N,K));

getch();

}

1. k

2. power*

3. power

4.f1(i,k)

44 /*[例7.6] 已知某个学生5门课程的成绩,求平均成绩*/ float aver(float a[ ]) /*求平均值函数*/

{ int i;

float av,__1__;/*定义并初始化总分*/

for(i=1;i<5;i++) s+=a[i];

__2__;

return av;

}

void main()

{ float sco[5],av;

int i;

printf("\ninput 5 scores:\n");

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

scanf("%f",__4__);

av=aver(sco);

/*调用函数,实参为一数组名*/

printf("average score is %5.2f\n",av);

getch();

}

1. s=a[0]

2. av=s/5.0

3. 5

4.&sco[i]

C语言题库

C语言基本概念 能将高级语言编写的源程序转换成目标程序的是______。 A) 编辑程序B) 编译程序C) 解释程序D) 链接程序 您的答案为:B 参考答案为:B 以下选项中合法的用户标识符是______。 A) long B) _2Test C) 3Dmax D) A.dat 您的答案为:B 参考答案为:B 以下叙述正确的是 A) 可以把define和if定义为用户标识符 B) 可以把define定义为用户标识符,但不能把if定义为用户标识符 C) 可以把if定义为用户标识符,但不能把define定义为用户标识符 D) define和if都不能定义为用户标识符 您的答案为:D 参考答案为:B 以下叙述正确的是 A) C语言比其他语言高级 B) C语言可以不用编译就能被计算机识别执行 C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D) C语言出现的最晚、具有其他语言的一切优点 您的答案为:C 参考答案为:C 在一个C语言程序中 A) main函数必须出现在所有函数之前 B) main函数必须出现在所有函数之后 C) main函数可以在任何地方出现 D) main函数必须出现在固定位置 您的答案为:C 参考答案为:C 一个C语言程序是由_______组成的。 A) 一个主程序和若干子程序 B) 若干子程序 C) 函数 D) 若干过程您的答案为:C 参考答案为:C 以下叙述中正确的是() A) C语言的源程序不必通过编译就可以直接运行 B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令 C) C源程序经编译形成的二进制代码可以直接运行 D) C语言中的函数不可以单独进行编译 您的答案为:B 参考答案为:B 下列关于C语言用户标识符的叙述中正确的是

C试题库有答案的

C++试题库 一、选择题 1、求“abc\\12\n”字符串的长度( C ) (A) 5 (B) 6 (C) 7 (D) 8 2、字符串常量”\tMyNane\103”的长度是:( B ) (A) 6 (B) 8 (C) 12 (D) 14 3、设x=7,执行语句y=++x,则y等于( D ) (A) 6 (B) 7 (C) 9 (D) 8 4、下列字符列中,合法的长整型常量是:( D ) (A) 4.18e3 (B) 0.46793 (C) 4L (D) 956738 5、在C++中,char类型数据在内存的存储形式是:( D ) (A) 原码(B) 反码(C) 补码(D) ASCII码 6、以下运算符中,优先级最高的是:( B ) (A) *= (B) –> (C) && (D) >= 7、若有定义“int x”,则下面不能将x的值强制转换成双精度数的表达式(D )(A)(double)x (B) double(x)(C)(double)(x)(D)x(double) 8、设有变量定义 int i, j; 与表达式 i==0 && j==0 等价的表达式是:( b ) (A) i||j (B) !i&&!j (C) !i==!j (D) i==j 9、下述叙述正确的是()。 (A)字符型变量不能赋予整数(B) 任意整数都能表示字符 (C)字符型变量可存放多个字符(D) 字符数据的值是整数值 10、设变量int a = 5; 下列哪个表达式计算后,使得变量b的值等于2 ?( A ) (A) b=a/2 (B) b=6-(a--) (C) b=a%2 (D) b=a>3?3:2 11、if…else中为避免嵌套出现二义性,C++规定else子句总与( B ) (A)其之前最近的if语句 (B)其之前最近且尚未配对的if语句 (C)缩排位置相同的if语句 (D)其之后最近的if语句 12、逻辑运算符两侧运算对象的数据( D ) (A)只能是逻辑型数据(B)只能是整型数据 (C)只能是整型或字符型数据(D)可以是任何类型的数据

历年全国计算机二级C语言试题库完整

. . . . 参考 50道C 语言知识题 1.以下叙述中正确的是 A)用C 程序实现的算法必须要有输入和输出操作 B)用C 程序实现的算法可以没有输出但必须要有输入 C)用C 程序实现的算法可以没有输入但必须要有输出 D)用C 程序实现的算法可以既没有输入也没有输出 2.下列可用于C 语言用户标识符的一组是 A)void,define,WORDB)a3_3,_123,Car C)For,-abc,IFCaseD)2a,DO,sizeof 3.以下选项中可作为C 语言合法常量的是 A)-80B)-080C)-8e1.0D)-80.0e 4.若有语句:char*line[5];,以下叙述中正确的是 A)定义line 是一个数组,每个数组元素是一个基类型为char 为指针变量 B)定义line 是一个指针变量,该变量可以指向一个长度为5的字符型数组 C)定义line 是一个指针数组,语句中的*号称为间址运算符 D)定义line 是一个指向字符型函数的指针 5.以下定义语句中正确的是 A)inta=b=0;B)charA=65+1,b=′b′; 6.有以下程序段 charch;intk; ch=′a′; k=12; printf("%c,%d,",ch,ch,k);printf("k=%d\n",k); 已知字符a 的ASCII 码值为97,则执行上述程序段后输出结果是 A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值 C)a,97,12k=12 D)a,97,k=12 7.有以下程序 main() {inti,s=1; for(i=1;i<50;i++) if(!(i%5)&&!(i%3))s+=i; printf("%d\n",s);} 程序的输出结果是 A)409B)277C)1D)91 8.当变量c 的值不为2、4、6时,值也为"真"的表达式是 A)(c==2)||(c==4)||(c==6) B)(c>=2&&c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1) 9.若变量已正确定义,有以下程序段

c题库

假定 AB 引用是某个变量的别名,对引用的操作就是对被引用变量的操作。 ?A. 对 ?B. 错 假定 AB 为一个类,则执行 AB x; 语句时将自动调用该类的无参构造函数。 ?A. 对 ?B. 错 构造函数用来初始化类的新对象,构造函数与类同名,返回类型只能为void。 ?A. 对 ?B. 错 用new动态分配的内存是在堆中分配的,而不是在栈中分配的。 ?A. 对 ?B. 错 使用关键字class定义的类中缺省的访问权限是私有(private)的。 ?A. 对 ?B. 错 在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。 ?A. 对 ?B. 错 C++语言的标识符是不区分大小写的。 ?A. 对 ?B. 错 作用域运算符(::)只能用来限定成员函数所属的类。 ?A. 对 ?B. 错 声明对象时,类名前面不需要加class关键字。 ?A. 对 ?B. 错

C++程序一般应当含有main函数,它是C++程序执行的入口。 ?A. 对 ?B. 错 可以在类的构造函数中对静态数据成员进行初始化。 ?A. 对 ?B. 错 C++语言中,既允许单继承,又允许多继承。 ?A. 对 ?B. 错 派生类的继承方式有两种:公有继承和私有继承。 ?A. 对 ?B. 错 多继承情况下,派生类的构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序。 ?A. 对 ?B. 错 类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。 ?A. 对 ?B. 错 构造函数和析构函数都不能重载。 ?A. 对 ?B. 错 在基类中被声明为虚函数的类的成员函数必须在每个派生类中显式声明为虚函数,才能具有多态的特征。 ?A. 对 ?B. 错 关于运算符重载,运算符函数的返回类型不能声明为基本数据类型。 ?A. 对

C语言题库

C语言题库 1.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写, 则文件方式字符串应是(D)。 A、"rb+" B、"ab++" C、"ab" D、"wb+" 2.设有如下定义: struct sk {int a; float b;} data,*p; 若要使p指向data中的a域,正确的赋值语句是(C)。 A、p=(struct sk*) data.a; B、*p=data.a; C、p=&data.a; D、p=&data,a; 3.对结构体类型的变量的成员的访问,无论数据类型如何都可使用 的运算符是(B)。 A、& B、. C、* D、-> 4.下列关于指针定义的描述,错误的是(A)。 A、指针是一种变量,该变量用来存放某个变量的值 B、指针是一种变量,该变量用来存放某个变量的地址值 C、指针变量的类型与它所指向的变量类型一致 D、指针变量的命名规则与标识符相同 5.设有如下的程序段: char str[ ]="Hello"; char *ptr; ptr=str; 执行完上面的程序段后,*(ptr+5)的值为(D ). A、不确定的值 B、'o'的地址 C、'o' D、'\0' 6.若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是(D)。 A、&t[1] B、t[3] C、&t[3][2] D、t[2] 7.下列说法中正确的是(B ). A、函数调用不占运行时间,只占编译时间. B、宏替换不占运行时间,只占编译时间. C、有参数的宏定义,就是函数. D、在定义宏时,宏名与带参数的括弧之间可以加空格. 8.以下叙述中正确的是(C)。

(完整版)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试题库

2000~2001学年《程序设计基础-C》试卷 一、单项选择题(每小题 2 分,共 30 分) 1. C 语言程序中可以对程序进行注释,注释部分必须用符号_____括起来。 A、‘{‘ 和’}’ B、‘[‘和’]’ C、“/*”和”*/” D、“*/”和”/*” 2.下列运算符中,优先级最低的是_____。 A、* B、!= C、+ D、= 3.若变量已正确定义,表达式 (j=3, j++) 的值是_____ 。 A、3 B、 4 C、5 D、0 4.已知字符‘a’ 的ASCII码为 97 ,执行下列语句的输出是_____。 printf ("%d, %c", ’b’, ’b’+1 ) ; A、98, b B、语句不合法 C、98, 99 D、 98, c 5.表达式strcmp(“box”, “boss”) 的值是一个_______。 A、正数 B、负数 C、 0 D、不确定的数 6.数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素_____的值为6。 A、a[3][2] B、a[2][1] C、a[1][2] D、a[2][3] 7.要调用数学函数时,在#include命令行中应包含_____。 A、”stdio.h” B、”string.h” C、”math.h” D、”ctype.h” 8.判断i和j至少有一个值为非0的表达式是_____。 A、 i!=0 && j!=0 B、i*j!=0 C、!(i==0 || j==0) D、i&&j 9.若a是基本整型变量,c是单精度实型变量,输入语句______是错误的。 A、scanf(”%d,%f”, &a, &c); B、scanf(”d=%d, c=%f”, &a, &c); C、scanf(”%d%f”, &a, &c); D、scanf(”%d%f”, a, c); 10.若变量已正确定义并且指针p已经指向某个变量x,则(*p)++相当于_____。 A、p++ B、x++ C、*(p++) D、&x++ 11.若p1、p2都是整型指针,p1已经指向变量x,要使p2也指向x, _____是正确的。 A、p2=p1; B、p2=**p1; C、p2=&p1; D、p2=*p1; 12.下列程序段的输出是_____。 int c[]={1, 3, 5}; int *k=c+1; printf("%d", *++k); A、 3 B、 5 C、 4 D、6 13.不正确的赋值或赋初值的方式是______。 A、char str[]="string"; B、char str[7]={'s', 't', 'r', 'i', 'n', 'g'}; C、char str[10];str="string"; D、char str[7]={'s', 't', 'r', 'i', 'n', 'g', ’\0’}; 14.对于以下结构定义,++p->str中的++加在_____。 struct { int len; char *str;

C语言程序的设计试题库完整

一、选择题(每题1分,共20分) 1.C语言程序从main()函数开始执行,所以这个函数要写在(D )。 A.程序文件的开始B.程序文件的最后 C.它所调用的函数的前面D.程序文件的任何位置 2.下列方法中错误的是(D )。 A.主函数可以分为两个部分:主函数说明部分和主函数体。 B.主函数可以调用任何非主函数的其它函数。 C.任何非主函数可以调用其它任何非主函数。 D.程序可以从任何非主函数开始执行。 3.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 4.C语言中的简单数据类型包括(D )。 A.整型、实型、逻辑型B.整型、实型、逻辑型、字符型 C.整型、字符型、逻辑型D.整型、实型、字符型 5.下列可以正确表示字符型常量的是(A )。 A.’\t’B.”a”C.”\n”D.297 6.在C语言中,字符型数据所占的内存空间是(C )。 A.2个字节B.4字节C.1字节D.由用户自定义 7.若int类型数据占2个字节,则unsigned int类型数据的取值范围是(B )。 A.0~255 B.0~65535 C.-32768~32767 D.-256~255 8.若有以下类型说明语句:char a;int b; float c; double d; 则表达式a*b+d-c的结果类型为(D )。 A.float B.char C.int D.double 9.下列正确的预编译命令是(D )。 A.define PI 3.14159 B.#define P(a,b)=strcpy(a,b) C.#define stdio.h D.#define PI 3.14159 10.为表示逻辑表达式7979 )&&( X<90 ) B.( X>79 )!=( X<90 ) C.7979 )||( X<90 ) 11.设有语句“int a=2,b=3,c=-2,d=2;”,则逻辑表达式“a>0&&b&&c<0&&d>0”的值是(A )。 A.1 B.0 C.-1 D.出错

(完整版)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)

c语言题库

2 C语言程序由什么组成?(单选) (C ) A. 子程序 B. 主程序和子程序 C. 函数 D. 过程 3. 源程序要正确地运行,必须要有什么函数?(单选) C A. printf函数 B. 自定义的函数 C. main函数 D. 不需要函数 4. 指出下面合法的标识符:(多选) CDG A. 3ab B. int C. ABC D. a_3 E. sum.a F. #abc G. _stu2 H. abc f 5. 指出下面哪些是保留字:(多选) AEFG A. char B. abc C. printf D. Int E. float F. define G. include H. PI 6. 指出下面哪些是合法的用户定义的标识符?(多选) BDG A. P-S B. putchar C. double D. _908 E. *par F. sheep! G. wind H. x y 7. C语言的基本类型哪些:(多选) ABEG A. 整型 B. 枚举型 C. 数组型 D. 指针型 E. 字符型 F. 构造型 G. 实形 H. 空类型 8. 这段程序中的常量有:(多选) ACF #define PI 3.14 void main() { int sum; sum = 10 + 15; printf("sum=%d\n",sum); printf("result is 25\n"); } 这段程序中常量有: ACF A. 10 B. sum C. 15 D. 25 E. main F. PI 9. C语言中整形常量按进制划分,有以下几种:(多选) ABC A. 十六进制常量 B. 十进制常量 C. 八进制常量 D. 二进制常量 10. 75的十六进制写法为_0x4b,八进制写法为0113。 0x75的八进制写法为0165,十进制写法为117。 075的十进制写法为61,十六进制写法为0x3d。 11. 如果要把常量327存入变量a中,a可以定义成哪些类型?(多选)ACD A. int B. char C. long D. float 12. 下面哪些写法是对的,而且是常量?(多选) ABCGH A. 125 B. -.456 C. 1.25e20 D. 'AB' E. E6 F. 0238 G. 0xabcdef H. "\n\\\'\123" 13. 下面哪个表达式的值为4.(单选) D A. 11/3 B. 11.0/3 C. (float)11/3 D. (int)(11.0/3+0.5) 14. 已知整型变量a=6,b=7,c=1,则下面表达式的值为多少? a+3 9 (b-a*3)/5 -2 c*(a+b)+b*(c+a) 62 3.2*(a+b+c) 4 4.8_

C语言试题库(带答案解析)~排版.doc

一、选择题 1、以下不能定义为用户标识符的是()。 (A) MAIN (B) _HJ (C) 2ong (D) LINE1 2、以下不能定义为用户标识符的是() (A) If (B) H_J (C) 208ong (D) LINE12 3、下面属于 C 语言标识符的是 ( )。 (A) 2ab (B) @f (C) b (D) _a12 4、下列符号中用来表示 C 语言中的回车换行的是()。 (A) \r (B) \n (C) \b (D) \t 5、在计算机系统中,可执行程序是() (A) 源代码(B)汇编语言代码 (C) 机器语言代码(D) ASCII码 6、在 Visual C++ 环境下, C 源程序文件名的默认后缀是 ( )。 (A) .obj (B) .txt (C) .c (D) .doc 7、Microsoft Visual C++ 中, C 语言可执行程序的扩展名是:( ) (A) exe (B) obj (C) c或 cpp (D) txt 8、C程序由 ( )组成。 (A)子程序(B) 主程序和子程序(C) 函数 (D) 过程 9、C程序的基本组成单位 ( )。 (A) 数据类型(B) 变量和常量(C) 函数(D) 表达式 10、C 语言中主函数的个数是 ( )。 (A) 2个(B) 1个(C) 任意个(D) 10 个 11、一个 C 程序的执行是从() (A)本程序的 main()函数开始 ,到 main 函数结束 . (B)本程序文件的第一个函数开始,到本程序文件最后一个函数结束 . (C)本程序文件的第一个函数开始,到本程序 main 函数结束 . (D)本程序的 main()函数开始 ,到本程序文件的最后一个函数结束. 12、以下叙述正确的是 (A)在 C语言程序中, main 函数必须放在其他函数的最前面 (B)在每个后缀为 .C 的 C 语言源程序都可以单独进行编译 (C)在 C语言程序中,只有main 函数才可单独进行编译 (D)每个后缀为 .C 的 C语言源程序都应该包含一个main 函数 13、设变量 a 是整型, b 是实型, c 是双精度型,则表达式2+’a’+b*c值的数据 类 型是()。 (A) int (B) float (C) double 14、以下选项中表示一个合法的常量是(说明:符号□表示空格) A) 9□ 9□9 B)0Xab C) D) 15、以下选项中非法的字符常量是 A)'\102' B)'\65' C)'\xff' D)'\019' 16、以下选项中,能表示逻辑值“假”的是 A)1 B) C)0 D) 17、下列关系表达式中,结果为“假”的是 A)(3+4)>6 B)(3!=4)>2 C) 3<=4||3 D)(3<4)==1 18、关于 C 语言变量,以下说法不正确的是() (A)变量名由程序员定义,必须符合标识符的命名规则。 (B)变量是程序运行过程中其值可以改变的量。 (C)可以用 C 语言的关键字作为变量名。 (D)变量命名时应尽量做到见名知意。 19、关于 C 语言中数的表示,以下叙述正确的是 A)只有整型数在允许范围内能精确无误的表示,实型数会有误差 B)只要在在允许范围内整型和实型都能精确表示 C)只有实型数在允许范围内能精确无误的表示,整型数会有误差 D)只有八进制表示的数在不会有误差 20 、设有语句 int a=3;,则执行了语句a+=a=a*a;后,变量 a 的值是。A.3 B. 0 C. 9 D.12 21 、在 C语言中,要求运算数必须是整型的运算符是。 A. % B./ C.< D.! 22、C语言中最简单的数据类型包括。 A.整型、实型、逻辑型B.整型、实型、字符型 C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型 23 、在 C语言中,合法的字符型常量是。 A. '\t' B."A"C.65 D.A 24 、若已定义 x 和 y 为 double 型变量,则表达式x=1, y=x+3/2 的值是。A.1 B.2 C.D. 25 、设正 x、y 均为整型变量,且x=10,y=3,则以下语句的输出结果是。printf("%d,%d\n",x--,--y); A.10,3 B. 9,3 C.9,2 D.10,2 26、若有定义 int a=8,b=5,C;,执行语句 C=a/b+;后,C 的值为。A.B.1 C.D.2 27、以下选项中,不正确的赋值语句是。 A.++t;B.n1=(n2=(n3=0)); C.k=i==j;D. a=b+c=1; 28、设 x 和 y 均为 int 型变量,则语句: x+=y,y=x-y;x-=y;的功能是。A.把 x 和 y 按从大到小的顺序排列 B.把 x 和 y 按从小到大的顺序排列 C.无确定结果 D.交换 x 和 y 中的值 29、以下程序的输出结果是。 #include <> main() { char c='z'; printf("%c",c-25); } A. a B.Z C.z-25D.y 30、已知字母 A 的 ASCII码为十进制数的65,以下程序的输出结果是。 #include <> 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.不确定的值 31、若 k 是 int 型变量,则以下程序片段的输出结果是。 k=-3; if(k<=0) printf("####"); else printf("&&&&"); A. ####B. &&&& C.####&&&&D.有语法错误,无输出结果 32、关于以下程序,说法正确的是。 #include <> main()

C语言试题库(完整版)

C语言试题库 一、单项选择 第一章 C语言概述 (1)一个C程序的执行是从 A、本程序的MAIN函数开始,到MAIN 函数结束。 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。 (2)以下叙述正确的是 A、在C程序中,MAIN函数必须位于程序的最前面。 B、 C程序的每行中只能写一条语句。 C、 C语言本身没有输入输出语句。 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3) C语言规定,在一个源程序中,MAIN主函数的位置是在: A、必须在最前面。 B、必须在系统调用的库函数的后面 C、可以在任意位置。

D、必须在最后面 (4)一个C程序是由: A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 (5)以下叙述不正确的是: A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个MAIN函数 C、 C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 (1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32) A、4 B、16 C、32

D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、define , IF, type B、getc, char, printf C、include, scanf, case E、 if, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,do B、float,1a0, _A C、b-a, goto, int D、_123, temp, INT (4)若有代数式3ae/bc,则正确的C语言表达式是 A、a/b/c*e*3 B、3*a*e/bc C、3*a*e/b*c D、a*e/c/b*3 (5)已知各变量的类型说明如下:

C语言考试题库及答案

7、C 语言程序的基本单位是 A) 程序行B) 语句 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 _____ 14 、以下程序的输出结果是______ D ____ . #include void main() { int x=10,y=10; printf("%d %d\n",x--,--y); } A) 10 10 B)99 C)910 D)109 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 码 {int x=023; printf("%d\n",--x); } A) 17 B) 18 11 、下面程序的输出的是 #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 23 D) 24 ____ C ___ 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 _____ . C) 函数D) 字符

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 14、以下程序得输出结果就是____D_____、 #include void main() { int x=10,y=10; printf("%d %d\n",x--,--y); } A) 10 10 B) 9 9 C) 9 10 D) 10 9 15、设有如下定义: int x=10,y=3,z; 则语句 printf("%d\n",z=(x%y,x/y)); 得输出结果就是_____D_____、 A) 1 B) 0 C) 4 D) 3 16、为表示关系x≥y≥z,应使用C语言表达式___A___、 A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z) C) (x>=y>=z) D) (x>=y) & (y>=z) 17、C语言中非空得基本数据类型包括____B____、 A) 整型,实型,逻辑型B) 整型,实型,字符型 C) 整型,字符型,逻辑型 D) 整型,实型,逻辑型,字符型 18、若x与y都就是int型变量,x=100,y=200,且有下面得程序片段: printf("%d",(x,y)); 上面程序片段得输出结果就是____A___、 A) 200 B) 100 C) 100 200 D) 输出格式符不够,输出不确定得值 19、阅读下面得程序 #include void main() { char ch; scanf("%3c",&ch);

C语言题库

一、判断题(每题1分) 1.函数即可以嵌套定义,又可以嵌套调用.( ×) 2.unsigned 和void 在C 中都是保留字.( √) 3.表达式++i 表示对变量i 自加1. (√) 4.C 语言源程序的基本结构单位是main 函数. ( ×) 5.字符常量的长度肯定为1. (√) 6.char a[]={'a','b','c'};char b[]={"abc"};数组a和数组b 占用的内存空间大小不一样. ( √) 7.若有int i=10,,j=2; 则执行完i*=j+8;后i 的值为28. (×) 8.int i,*p=&i;是正确的C 说明。( √) 9.While 循环语句的循环体至少执行一次. ( ×) 10.有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0. ( √) 11. 7&3+12的值是15.( ×) 12. C 语言本身不提供输入输出语句,输入和输出操作是由函数来 实现的.( √) 13. 若a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真". (√) 14. 在C 语言中,整型数据在内存中占2个字节. ( ×) 15. 对二维数组a 来说,由于a+1与*(a+1)的值相等,因此二者的含义是一样的. (×) 16. break 语句可用于循环体内,它将退出该重循环. ( √) 17. 将一个字符串"abc"赋给字符串变量str 的方法是str="abc".. (×) 18. 参加位运算的数据可以是任何类型的数。( ×) 19. C 语言规定:在一个源程序中,main 函数的位置必须在最开始. ( ×) 20. 静态外部变量只在本文件内可用. ( √) 21. 若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t 没定义,所以此宏定义是错误的.( ×) 22. 字符串只能存放在字符型数组中. ( √) 23. 若a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真". (√) 24. 在标准C 中,"="是判断两个数是否相等. ( ×) 25. 函数调用可以出现在执行语句中,但不能出现在表达式中. (×) 26. break 语句可用于循环体内,它将退出该重循环. ( √) 27. strcat(s1,s2)函数是将字符串s1复制到字符串s2中. (×) 28. 函数若无返回值,则它一定无形参。( ×) 29. C 语言是一种结构化程序设计语言. ( √) 30. 静态外部变量只在本文件内可用. ( √)

C题库

填空题: 2 /*[例3.7] 已知圆柱体的底半径为r,高为h,求其体积*/ /*功能:函数scanf()的格式及作用。*/ main() {float __1__ float pi=3.1415926; printf("Please input r & h : "); scanf("%f%f",__2__); /*从键盘输入两个实数赋给变量r,h*/ v=__3__ ; printf("radius=%7.2f, high=%7.2f, vol=%7.2f\n",r,h,v); } 1. r,h,v; 2.&r,&h 3.pi*r*r*h 3 /*[例3.10] 求方程ax2+bx+c=0的实数根。其中a、b、c由键盘输入,a≠0且 b2-4ac>0*/ /*功能:设计一个顺序结构程序,求二次方程的根。提示b方减4ac*/ #include "math.h" /*为求sqrt(),包含math.h头文件 */ main() {float a,b,c,disc,x1,x2; printf("Input a, b, c: "); scanf("__1__",&a,&b,&c); __2__; /*求判别式的值赋给disc*/ x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); printf("\nx1=%6.2f\nx2=%6.2f\n",x1,__3__); } 1.%f%f%f 2.disc=b*b-4*a*c 3.x2 4 /*[例3.11] 从键盘输入一个小写字母,要求用大小写字母形式输出该字母及对应的ASCII码值*,要求用getchar函数录入一个字母/ #include "stdio.h" main() {char c1,c2; printf("录入一个小字的字母: "); __1__; putchar(c1);printf(",%d\t",c1); c2=__2__; /*将小写字母转换成对应的大写字母*/ printf("%c,%d\n",__3__,c2); } 1.c1=gcetchar() 2.c1-32 3.c2 5 /*[例3.12] 输入任意三个整数,求它们的和及平均值*/操作三个变量的顺序请按照num1,num2,num3这个顺序 main() {int num1,num2,num3,sum;

C题库

【程序设计】 功能:根据整型形参m,计算如下公式的值:y=sin(m)*10。【参考代码】 double y=0; y=sin(m)*10; return(y); 功能:若x、y为奇数,求x到y之间的奇数和;若x、y为偶数,则求x到y之间的偶数和。 【参考代码】 int i,s=0; for(i=x;i<=y;i+=2) s=s+i; return s; 功能:编写程序,实现矩阵(3行3列)的转置(即行列互换)【参考代码】 int i,j,t; for(i=0; i < 3; i++) for(j=0; j < i; j++) { t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t; } 功能:求一个四位数的各位数字的立方和。 【参考代码】 int d,s=0; while (n>0) {d=n%10; s+=d*d*d; n/=10; } return s; 功能:请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。 【参考代码】

int i,j; for(j=0;jave)k++; return k; 题目:分别统计字符串中字母、数字、空格和其他字符出现的次数(字符长度小于80)。 【参考代码】 int i; for(i=0;c[i]!='\0';i++) if((c[i]>='A'&&c[i]<='Z')||(c[i]>='a'&&c[i]<='z')) a=a+1; else if (c[i]>='0'&&c[i]<='9') num=num+1; else if (c[i]==' ') b=b+1; else other=other+1; 功能:能计算从1开始到n的自然数中偶数的平方和,n由 键盘输入,并在main()函数中输出。 【参考代码】 int sum,i; sum =0; for(i=2;i<=n;i=i+2)

相关文档