搜档网
当前位置:搜档网 › C语言习题与答案

C语言习题与答案

C语言习题与答案
C语言习题与答案

一、单选题

1、能将高级语言源程序转换成目标程序的是( C )。 编译程序的基本功能是把源程序翻译成目标程序 A)调试程序

B)解释程序

C)编译程序

D)编辑程序 2、设有以下定义:int x=10,y=3,z;则语句:printf(“%d”,z=(x%y,x/y ));的结果是( D )。

A)1 B)0 C)4 D)3

3、若已定义x 和y 为整型,则表达式:x=1,y=x+3/2的值是( B )。P56 A)1 B)2

C)2.0

D)2.5 4、C语言中 ( B )。P115 A)不能使用 do - while 语句构成循环。

B)do-while 语句, 当 while 语句中的表达式值

为零时结束循环。

C)do-while 语句, 当 while 语句中的表达式值

为非零时结束循环 D)do-while 语句必须用 break 语句才能退出循

5、设有定义 int a =3;,则执行语句 a+ = a-=a*a 后,变量 a 的值是( C ).P64

(a-a*a a = 3-3*3 a = -6 a = a + a a = -6 + (-6) a=-12)

A)3 B)0 C)-12

D)9

6、以下程序的输出结果是 ( C )。p93 # include main( ) {int a,b,d=241; a=d/100%9; b=(-1)&&(-1);

printf ("%d,%d\n",a,b);

}

A)2 1 B)1,-1 C)

2,1 D)2 -1

7、以下程序的输出结果是 ( D )。

#include #include main( )

{char str[12]={'s','t','r','i','n','g'}; printf("%d\n",strlen(str)); }求字符串的长度,strlen( )的参数必须是char*

A)12

B)7

C)11

8、以下的 for 循环( A )。

for (x=0,y=0;(y!=123)&&(x<4);x++); A)执行4次 B)是无限循环 C)执行3次 D)循环次数不定

9、以下程序段的输出结果是( A )

char a[]=”Basic”; char *p=a; printf(“%s”,p);

A)Basic

B)B

C)asic

10、以下说法中正确的是( C )。 A)C 语言程序总是从第一个定义的

B)在C 语言程序中,要调用的函数必须在 main( ) 函数中定义

C)C 语言程序总是从 main( ) 函数开始执行

D)C 语言程序中的 main( ) 函数必须放在程序的开始部分 11、下述对 C 语言字符数组的描述中错误的是( C ) A)字符数组可以存放字符串

B)字符数组中的字符串可以整体输入、输出

C)可以在赋值语句中通过赋值运算符“=”对字符

数组整体赋值 D)不可以用关系运算符对字符数组中的字符串进

行比较

12、C语言中最简单的数据类型包括( B ) A)整型、实型、逻辑型

B)整型、实型、字符型 C)整型、字符型、逻辑型 D)整型、实型、逻辑型、字符型 13、阅读程序: #include #define SUB(X,Y) (X)*Y main( ) {int a=3,b=4;

printf("%d\n",SUB(a++,b++));

} 程序的输出结果是 ( B )

A)15

B)12 C)16

D)20 14、为表示关系x ≥y ≥z 应使用C 语言表达式( A )

A)(x>=y )&&(y>=z) B)( x>=y )and(y>=z)

C) (x>=y>=z) D)( x>=y )&( x>=y ) 15、如下程序的运行结果是( A ) Main() {int n=0; while(n++<=1)

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

A)1 2 3 B)3 2 1 C)0 1 2 D )2 1 0

16、设有如下定义:

char *aa[2]={“abcd”,”ABCD”}; 则以下说法中正确的是( D )

A)aa 数组元素的值分别是”abcd”和”ABCD”

B)aa 是指针变量,它指向含有两个数组元素的字符型一维数组

C)aa 数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

D)aa 数组的两个元素中各自存放了字符’a’和’A’的地址。 17、设有如下定义:

struct sk

{int a;float b;}data,*p;

若有 p=&data;,则对 data 中的 a 域的正确引用是

(p->a )( A )

A)(*p).a B)(*p).data.a C)p.data.a D)

p->data.a

18、设有说明 int (*ptr)[M]; 其中的标识符 ptr 是( C ) A)M 个指向整形变量的指针 B)指向 M 个整形变量的函数指针

C)一个指向具有 M 个整形元素的一维数组的指

D)具有 M 个指针元素的一维指针数组,每个元素都只能指向整形变量

19、阅读程序,程序的输出结果为( C )。 int x=3; do

{printf(“%3d”,x -=2); } while(!(--x));

A)1 B)30 C)1 -2

D)死循环

20、设有10个数据进行冒泡排序,最少进行的比较次数为( C )。

A)0 B)10 C)9 D)1

21、设有语句 char a=’\n’; ,则变量 a ( A )。 A)包含1个字符

B)包含2个字

C)包含3个字符 D)说明不合法 22、若有定义:double x,y;则表达式:x=1,y=x+3/2的值是( C )。 A)1 B)2

C)2.0

D)2.5

23、有以下程序:(注意:ch[0] 在低字节,ch[1] 在高字节。) # include< stdio.h>

union pw{int i ;char ch[2];}a;

main( )

{a.ch[0]=0 ;a.ch[1]=13 ; printf("%d\n",a.i);

}

程序的输出结果是( C )。

A)13

B)14

C)3328 D)328 24、以下程序的输出结果是 ( B )。 #include main( )

{char str[12]={'a','b','c','d','f','g',’f’}; printf("%d\n",strlen(str)); }

A)12

B)7

C)11 D)6 25、设有以下语句:

struct st{int n;struct st *next;};

static struct st a[3]={{5,&a[1]},{7,&a[2]},{9,'\0'}},*p; p=&a[0]; 则表达式( B )的值是6。

A)p++->n

B)++(p->n)

C)(*p).n++ D)p->n++ 26、对于程序段 float f1(int a) {int b ;……} main( ) { int m,n; m=f1(n);…… }

char f2(int x,int y) { int a;…… }

变量m,n 的作用范围是( B ) (A )整个程序段 (B )main 函数 (C )main 函数和f2函数 (D )mian 函数和f1函数 27、若p1、p2都是指向整型的指针,p1已经指向数量x ,要使p2也指向x ,正确的是( A )

(A )p2=p1; (B )p2=**p1; (C )p2=&p1; (D )p2=*p1; 28、算术运算符,赋值运算符和关系运算符的运算优先级按

从高到低依次为( B )

(A )算术运算、赋值运算、关系运算 (B )算术运算、关系运算、赋值运算 (C )关系运算、赋值运算、算术运算 (D )关系运算、算术运算、赋值运算

29、C语言中,运算对象必须是整型数的运算符是( A )

A)%

B)/

C)% 和

30、若数组定义为int a[10];则下列哪个表达式是错误的?( A )

(A )*a (B )a

(C )&a

(D )++a

31、表达式10%2值是( A ) (A )0 (B )1 (C )5 (D )5.0

32、设有说明 int (*ptr)[M]; 其中的标识符 ptr 是( C )

A)M 个指向整形变量的指针

B)指向 M 个整形变量的函数指针

C)一个指向具有 M 个整形元素的一维数组的指

D)具有 M 个指针元素的一维指针数组,每个元

素都只能指向整形变量

33、初始化一维数组a 正确的语句是( C ) (A )int a[10]=(0,0,0,0,0); (B )int a[10]={ }; (C )int a[ ]={10} ; (D )int a[10]={[10*1]}; 34、下列程序执行后输出的结果是 ( A )

int d = 1 ;

fun ( int p ) { int d = 5 ; d + = p + + ; printf( " %d " , d ) ; } main( ) {int a = 3 ; fun ( a ) ;

d + = a + + ;

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

A)8 4

B)9 6

C)9 4 D)8 5

35、函数调用语句“f((e1,e2),(e3,e4,e5))”中参数的个数是( B )

(A )1 (B )2 (C )3 (D )5

36、执行下列语句中,sum 变量的值是( B ) int I,sum=0;

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

(A )45 (B )55 (C )0 (D )编译错误 37、以下c 语言函数声明中,不正确的是( C )

(A ) void fun (int x, int y); (B ) fun (int x, int y);

(C ) int fun (int x,y); (D ) char *fun (char *s);

38、以下关于typedef 的叙述中错误的是 ( A ) (A ) 用typedef 可以增加新的类型

(B ) 用typedef 可以定义各种类型名,但不能用来定义变量

(C ) 用typedef 只是将已有的类型用新的标识符来代表 (D ) 使用typedef 有利于程序的通用和移植

39、 假设指针p 已经指向某个整型变量x ,则*p 相当于( C )

(A ) &x (B ) &p (C ) x (D ) *x 40、组成C 语言程序的是( B ) (A )过程 (B )函数

(C )子程序 (D )主程序和子程序

41、不用第三个变量,将变量a 和b 的值进行互换的操作是( B )

(A )a+=b; b-=a; a-=b; (B )a+=b; b=a-b; a-=b; (C )b-=a; a-=b; a-=b; (D )b-=a; a=b-a; a+=b; 42、对do-while 语言错误的说法是(C )

(A )可构成多重循环结构 (B )循环次数不可能为0

(C )循环次数可能为0 (D )先执行后判断 43、函数调用时,若实参是一个数组名,则向形参传递的是

(C )

(A )数组的长度 (B )数组的每一个元素的地址 (C )数组的首地址(D )数组元素的值

二、填空题

1、下面函数要求用来求出两个整数之和,并通过形参传回两数相加之和值。

int add(int x,int y, int z )

{ z=x+y;}

2、以下定义和语句,则使指针P 指向值为17 的数组元素的表达式是P+3 。

int a[10]={19,23,44,17,37,28,49,36 },*p;

p=a;

3、设有定义:int i,j,k;则执行语句for(i=0,j=10; i<=j;i++,j--) k=i+j;后,k 的值为10 。

4、以下两条if 语句可合并成一条if 语句

为。

if (a<=b) x=1 ;

else y=2;

if (a>b) printf("y=%d\n",y);

else printf( "x=%d\n",x);

5、C 语言程序的函数之间可通过函数名返回数据外,还可

通过函数指针返回

数据(P261)定义全局变量,传递地址运算进行。

6、int *p[4]的意义是它表示指针数组,int (*p)[4]的意是表示p是一个指针变量,它指向包含4个整形元素的一维数组数组指针(p28)。

7、设有以下定义和语句:

int a[3][2]={10,20,30,40,50,60},(*p)[2];

p=a;

则*(*(p+1)+1) 的值为_____40_________。

8、若有以下定义和语句:

struct{int x;char y;int z;}a,*b;

b=&a;

则sizeof(a) 的值是__ 5__,而sizeof(b) 的值是

2。

9、以下程序的输出是______49 ___。

main( )

{int a[10]={19,23,44,17,37,28,49,36},*p;

p=a;

printf( "%d\n",(p+=3)[3]);

}

10、若有以下说明和定义语句,则变量w 在内存中所占的字节数是34,

union aa

{float x,y;char c[6];};

struct st{union aa v;float m[5];double ave;}w ; 11、以下函数的功能是:把两个整数指针所指的存储单元中的内容进行交换。请填空。

exchange(int *x,int *y)

{int t;

t=*y; *y= *x;*x= t ;}

12、设有字符串STR,如下程序段用于确定其长度。

{int num=0;

while( STR[num]!=’\0’)

num++;

return( num);

}

13、设单链表的结点含两个域:data 是数据域,next是指针域,请填空。

struct link {char data ; struct link *next }node ;

14、下面程序的输出是 4 。

main( )

{int a[]={1,2,3,4},*p=a,i;

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

printf(“%d”,a[2]);

}

15、如下程序的运行结果是 1 2 3。

Main()

{int n=0;

while(n++<=1)

printf(“%3d”,n);

printf(“%3d\n”,n);

}

16、设for(k=0;k<10;k++)++k;则该循环共执行5次。

17、结构化程序由三种基本控制结构组成,它们分别是

顺序结构、选择结构和循环结构。

18、初始化值是0.618的双精度变量a的定义形式为double a=0.618 。

19、若有以下定义和语句:struct{int x;char y;float

z;}a,*b;b=&a;

则sizeof(a) 的值是__7 __,而sizeof(b) 的值是

2。

20、语句printf(“\%d%d”, 123); 执行后将输出: 123285。

21、如下程序段的输出是BCD。

static char a[]=”ABCD”;

char *p=a;

printf(“%s”,++p);

22、如下函数用于求出一个2x4矩阵中的最小值。

Max_value(arr)

Int arr[ ][4];

{int I,j,max=arr[0][0];

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

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

if(arr[I][j]>max) max=a[I][j];

return(max);

}

23、设单链表的结点含三个域:data1和data2 是数据域,next 是指针域,请填

空。struct link{ int data1;char data2; struct link

*next;}node; 24、字符串″ABCD\t\\\123″的长度是7。

25、表达式a = 1,a + 1,a + + 的值是

2。

27、被调函数在执行结束时,这个函数中定义的静态储存类型的变量不被释放。

28、设int a[2][3] = {{2},{3}};则数组元素a[1][0]的值为3。

29、下列程序

int x=3;

do{printf(″%d″,--x);} while(!x);

循环执行的次数是1。

30、若函数定义为

int data()

{float x=9.9;

return(x);

}

则调用后函数返回的值是9。

十四、判断题

1、函数可以分为两个部分:函数说明部分和函数体。(√)

2、函数的定义和函数的调用均可以嵌套。(×)

3、在C语言中,当我们定义了数组int a[5];则数组元素的下标从1到5。(×)

4、在C语言中,“A”占两个字节,而‘A’占一个字节。(√)

5、程序中定义的整型变量的初值都为0。(×)

6、若有说明int c;则while (c=getchar());是错误的C语句。(×)

7、C语言中,共用体类型的变量在程序运行期间,所有成员都在内存中。(×)

8、在一个函数内部的复合语句中定义的变量,只在该复合语句范围内有效。(√)

9、C语言程序中,一个文件中的函数可以引用存储在另一个文件中的函数和变量。(√)

10、使用continue和break语句,都可以使得C程序的执行直接从循环中跳出。(×)

十五、程序改错题

从键盘输入m和n两个整数,输出时先输出较大者,后输出较小者。

main( )

{ int m,n,*pm=m,*pn=n,*p;

if(a

{*p=*pm;

*pm=*pn;

*pn=*p;

}

printf("max=%d,min=%d\n",a,b"); }

#include

void main()

{int *p1,*p2,m,n;

scanf(“%d,%d”,&m,&n);

p1=&m;

p2=&n;

if(m

{p1=&n;

p2=&m;

}

printf(“m=%d,n=%d\n ”,a,b); printf (“max=%d,min=%d\n ”,*p1,*p2); }

三、阅读如下程序,其功能是求出数组S 中的最大元素,请简述其算法的基本思想,画出程序流程图;修改该算法,使其更高效。

Main() {int s[10],I,m; for(I=0;I<10;I++) scanf(“%d”,&s[I]); for(I=1;I<10;I++) if (s[I]>s[0]) {m=s[0]; s[0]=s[I]; s[I]=m;} printf(“%d”,s[0]); } main() {int s[10],i,m; for(i=0;i<10;i++) {scanf("%d",&s[i]);

if (s[i]>s[0]) {m=s[0];s[0]=s[i];s[i]=m;}} printf("%d",s[0]); }

四、简述如下程序的功能,画出程序流程图,并对其进行修改,使其符合结构化程序的要求。

程序1: main() {int n;

for(n=100;n<=200;n++) {if (n%3==0) continue; printf(“%d”,n); } } 程序2: main() {int n=1; while(n<=200) {if (n>100) break; printf(“%d”,n++); } }

五、阅读如下程序: #include

int main(void)

{int i;

char *name[3]={"David","Jane Wang","Tom Lee"};

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

printf("name[%d]=%s\n",i,name[i]);

printf(“\n”);

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

printf("name[%d]=%c\n",i,name[i][0]);

}

原来输出:

name[0]=David

name[1]=Jane Wang

name[2]=Tom Lee

请描述其执行结果;修改程序显示三个字符串("David","Jane Wang","Tom Lee")的首字符。

六、设数组a中有10个整数(数据在函数main中产生),请设计一个函数把其中的偶数存放到数组b中返回并输出。

#include

main()

{void mod(int a[10],int b[10]);

int a[10],i,b[10];

printf("input ten data:\n");

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

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

b[i]=1;

}

mod (a,b);

printf("the new data:\n");

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

{if(b[i]!=1)

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

}

}

void mod(int a[10],int b[10])

{int i;

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

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

b[i]=a[i];

}

}

七、设有单向链表L,编程输出结点的值,并删除第一个结点。(提示:结点结构为:struct node{int data;struct node

*next;};)

#include

#include

#define NULL 0

struct node

{int data;

struct node *next;

};

void main()

{struct node a,b,c,*head,*p;

a.data=10;

b.data=11;

c.data=12;

head=&a;

a.next=&b;

b.next=&c;

c.next=NULL;

p=head;

printf("the data of the link:\n");

while(p!=NULL)

{printf("%4d",p->data);

p=p->next;

}

printf("\ndelete the first data:\n");

head=&b;

b.next=&c;

c.next=NULL;

p=head;

while(p!=NULL)

{printf("%4d",p->data);

p=p->next;

}

}

八、编程完成:函数main 产生整型数组s[4][4]中的数据;函数findmin求出数组s每列中最小元素的行号;函数outdata输出每列的最小元素及行号。

#include

main()

{ints[4][4]={{78,89,54,61},{87,65,74,75},{78,89,78,79},{51,9

7,98,3}};

int min[4],mini[4];

void findmin(int s[4][4],int min[4],int mini[4]);

void outdata(int min[4],int mini[4]);

findmin(s,min,mini);

outdata(min,mini);

}

void findmin(int s[4][4],int min[4],int mini[4])

{int i,j;

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

{min[i]=s[0][i];

mini[i]=1;

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

if(min[i]>s[j][i])

{min[i]=s[j][i];

mini[i]=j+1;

}

}

}

void outdata(int min[4],int mini[4])

{int i;

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

printf("min[%d]=%d\n",mini[i],min[i]);

}

九、设有单向链表L,请设计函数查找链表中数据域值最大的结点并返回其地址值。结点结构为:struct node{int data;struct node *next;}。

#include

#include

#define NULL 0

struct node

{int data;

struct node *next;

}; void main()

{struct node a,b,c,*head,*p,*max;

struct node * chzhao(struct node *head);

a.data=10;

b.data=11;

c.data=12;

head=&a;a.next=&b;b.next=&c;c.next=NULL;p=head; printf("the data of the link:\n");

while(p!=NULL)

{printf("%p",p);

printf("%4d\n",p->data);

p=p->next;

}

max=chzhao(head);

printf("\nthe address of %d is: %p",max->data,max); }

struct node * chzhao(struct node *head)

{struct node *p,*max;

p=head;max=p;

for(;p!=NULL;p=p->next)

if(max->datadata)

max=p;

return max;

}

十、有一函数:

#include

void main()

{

int x,y;

scanf("%d",&x);

if (x<1)

y=x;

else if (x<10)

y=2*x-1;

else

y=3*x-1;

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

}

写一程序,输入X,输出Y值.

十一、输入若干学生成绩,统计并输出最高与最低成绩,输入负数时结束。

#include

main()

{int i,a,s[99],n=0,max,min;

i=0;

while(a>=0)

{printf("input the scores of the students:\n");

scanf("%d",&a);

s[i]=a;i++;n++;

}

max=s[0];min=s[0];

for(i=0;i

{if(s[i]>max)

max=s[i];

if(s[i]

if(s[i]>0)

min=s[i];

}

printf("output the number max min: \n");

printf("---------------------------------\n");

printf("n=%d max=%d

min=%d\n",n-1,max,min);

十二、阅读程序,说明每个语句的功能及程序的功能,并画出程序的流程图。(结构组成,执行情况)

main()

{int a,b,c;

scanf(“%d,%d”,&a,&b);

c=max(a,b);

printf(“max=%d”,c);

}

int max(int x,int y)

{int z;

if (x>y z=x;else z=y;

return(z);

}

十三、设有30个学生数据,每个学生数据包括学号、姓名、成绩三项;请编写函数input输入学生数据,函数sort完成按成绩由高到低的顺序排列数据,主控函数main完成调用控制与输出结果。

struct student

{int num;

char name[10];

int score;

}stu[30],temp;

#include

main()

{int i;

input();

sort();

printf("sort the score from high to low :\n");

printf(" No. Name Score \n");

printf("---------------------------------\n");

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

printf("%4d%6s%6d\n",stu[i].num,stu[i].name,stu[i].score); printf("\n");

}

input()

{int i;

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

{printf("input the num name score:\n");

scanf("%d%s%d",&stu[i].num,&stu[i].name,&stu[i ].score);

}

}

sort()

{int i,j;

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

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

{ if(stu[j].score>stu[j-1].score)

{temp=stu[j];

stu[j]=stu[j-1];

stu[j-1]=temp;

}

}

}

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语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

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语言课后习题答案(最终)

第0章习题 1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数: (1)128 (2)511 (3)1024 (4)65535 (5)1048575 答: (1)10000000、200、80 (2)111111111、777、1FF (3)10000000000、2000、400 (4)1111111111111111、177777、FFFF (5)11111111111111111111、3777777、FFFFF 2. 将下列二进制数转化为十进制数和十六进制数: (1)1100110101B (2)101101.1011B 答: (1)821、335 (2)45.6875、2D.B 3. 写出下列数的原码、反码、补码:15、-20、-27/32 答: (1)00001111、00000000、00001111 (2)10010100、11101011、11101100 (3)1.1101100、1.0010011、1.0010100 4. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少? 答: 0~65535、-128~127、-32768~32767 5.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。 答: 结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。 如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么? 答:

C语言习题及参考答案

C语言习题集 习题一 一.填空题 1.C程序是由(函数)构成的,一个C程序中至少包含(main函数)。因此,( 函数) 是C程序的基本单位。 2.C程序注释是由( /*) 和( */ ) 所界定的文字信息组成的。3.函数体一般包括( 变量声明) 和( 语句) 。 二.判断题 1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。【错】 2.main函数必须写在一个C程序的最前面。【错】 3.一个C程序可以包含若干的函数。【对】 4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。但是可以增加程序的可读性。【对】 5.C程序的注释只能是一行。【错】 6.C程序的注释不能是中文文字信息。【错】 8.可以使用Visual C++ 6.来编译和连接一个C程序。【对】 9.可以使用Visual C++ 6.来运行一个C程序。【对】 10.可以使用Visual C++ 6.来实时调试(即动态调试)一个C程序。【对】三.简答题 1.写出一个C程序的基本结构。 2.简要叙述使用Visual C++ 6.0编译和运行一个程序的步骤。 四.编程题 1.提高题:参照课本例1.1,试编写一个C程序,输出如下信息。(提示:使用键盘上的一些符号)。 2.提高题:试编写一个C程序,输出如下信息。 ********************** *** @ @ *** *** @ *** ********************** 试试看,可以输出其他组合图案吗?

习题二 一.选择题 1、合法的字符常量是(ACD)。 A)…\t?B) “A” C)…a?D)?\x32? 2、合法的字符常量是( D) 。 A)…\084?B) …\84? C)…ab?D)?\x43? 3、(B)是C语言提供的合法的数据类型关键字。 A)Float B)signed C)integer D)Char 4、在以下各组标识符中,合法的标识符是((4))。 (1)A)B01 B)table_1 C)0_t D)k% (2)A)Fast_ B)void C)pbl D) (3)A)xy_ B)longdouble C)*p D)CHAR ( 4 ) A) sj B) Int C)_xy D)w_y23 5、属于合法的C语言长整型常量的是(BD)。 A)5876273 B)0L C)2E10 D)(long)5876273 6、下面选项中,不是合法整型常量的是(B )。 A)160 B)-0xcdg C)-01 D)-0x48a 7、判断int x = 0xaffbc;x的结果是(D)。 A)赋值非法B)溢出C)为affb D)为affbc 8、下面选项中,均是合法浮点数的是(B)。 A)+1e+1 B)-.60 C)123e D)-e3 A)5e-9.4 B)12e-4 C)1.2e-.4 D).8e-4 A)03e2 B)-8e5 C)+2e-1 D)5.e-0 9、在C语言中,要求参加运算的数必须时整数的运算符是(C)。 A)/ B)* C)% D) = 10、在C语言中,字符型数据在内存中以(D)形式存放。 A)原码B)BCD码C)反码D)ASCII码 11、下列语句中,符合语法的赋值语句是(C)。 A)a=7+b+c=a+7;B)a=7+b++=a+7; C)a=(7+b,b++,a+7);D)a=7+b,c=a+7; 12、是非法的C语言转义字符(B )。 A)…\b?B)…\0xf? C)…\037? D)… \?? 13、对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,( B )是正确的。A)语法错误B)f为5.0 C)f为0.0 D)f为2.0 14、与代数式(x*y)/(u*v) 不等价的C语言表达式是(A )。 A)x*y/u*v B)x*y/u/v C)x*y/(u*v) D)x/(u*v)*y 15、在C语言中,数字029是一个(D)。

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言综合习题及答案

C语言综合习题及答案 Prepared on 24 November 2020

C语言练习题 一、选择题 1. 一个完整的C源程序是【B 】。 A)要由一个主函数或一个以上的非主函数构成 B)由一个且仅由一个主函数和零个以上的非主函数构成 C)要由一个主函数和一个以上的非主函数构成 D)由一个且只有一个主函数或多个非主函数构成 2. 以下关于函数的叙述中正确的是【C】。 A)C语言程序将从源程序中第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D)main可作为用户标识符,用以定义任意一个函数 3. 以下关于函数的叙述中不正确的是【B】。 A)C程序是函数的集合,包括标准库函数和用户自定义函数 B)在C语言程序中,被调用的函数必须在main函数中定义 C)在C语言程序中,函数的定义不能嵌套 D)在C语言程序中,函数的调用可以嵌套 4. 在一个C程序中,【B 】。 A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置 程序的执行是从【A 】开始的。 A)主函数 B)子函数 C)从程序第一行 D)printf()函数 6.以下选项中不合法的标识符是【C 】 A)print B)FOR C)&a D)_00 7.以下选项中可作为C语言合法常量的是【A】 A)-80 B)-080 C) D) 8.以下选项中不属于字符常量的是【B】 A)′C′ B)"C" C)′\xCC′ D) ′\072′ 9. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【C】

C语言函数题库及答案

C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(C)

c语言习题答案

实验一 (1)编程求37+29的值,实习VC环境。 #include void main() { int a,b,sum; a=37; b=29; sum=a+b; printf("sum=%d",sum); } (2)从键盘输入三个整数,求出最大数并输出。 #include void main() { int a,b,c,y; int max(int x,int y); printf("input a,b,and c:"); scanf("%d,%d,%d",&a,&b,&c); y=max(a,b); y=max(y,c); printf("\nmax=%d\n",y); } int max(int x,int y) { int z; if(x>y) z=x; else z=y; return(z); } (3)通过上机实践,运行下列程序并分析输出结果。 A 程序代码 #include void main() { char ch='a'; printf("%c对应的ASCII码是:%d\n",ch,ch); } 程序输出结果:a对应的ASC||码是:97

B 程序代码 #include void main() { int a=168; float b=123.456; float x=35.567,y; printf("a=%5d\n",a); printf("a=%-5d\n",a); printf("b=%6.2f\n",b); printf("b=%e\n",b); y=(int)(x*100+0.5)/100.0; printf("x=f,y=%f\n",x,y); } 程序输出结果: a=168 a=168 b=123.46b=1.234560e+002 x=f,y=35.567001 C程序代码 #include void main() { int a=168; printf("十进制数%d对应的八进制数是%o\n",a,a); printf("十进制数%d对应的十六进制数是%x\n",a,a); } 程序输出结果: 十进制数168对应的八进制数是250 十进制数168对应的十六进制数是a8

2019二级C语言题库参考答案解析

2019年C语言考题答案 1、程序填空题 给定的程序的功能是调用fun 函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat 的二进制中。 填空:( 1) STYPE(2)FILE(3)fp 改错:(1) for(i=0;i<=sl;i++)(2)t[2*sl]= 0“ 或t[sl+sl]= 0“ 编程: *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b% 10); 2、程序填空题给定程序的功能是:从键盘输入若干文本 (每行不超过80 个字符),写到文件myfile4.txt 中,用-1 作为字符串输出输入的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText 和Writetext 实现。 填空:(1)*fw(2)str (3) str 改错:(1)voidfun(longs,long*t)(2) s1=s1*10; 编程:int i,j=0,min=a[0].s; for(i=0;i

else if(min==a[i].s) b[j++]=a[i]; } return j; 3、程序填空题 给定程序中,函数fun 的功能是:讲自 然数1~10 以及它们的平方根写到名为myfile3.txt 的文本中,然后再按顺序读出显示在屏幕上。 填空:( 1) fp( 2)fclose(fp)(3)myfile3.txt 改错:( 1)for(i=j+1;i

大学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.1 题目内容: 使用printf()在屏幕上输出hello world! 提示: #include int main() { printf("hello world!\n"); return 0; } 输入格式: 无 输出格式: 输出提示信息:"hello world!\n" 输入样例: 输出样例: hello world! #include int main() { printf("hello world!\n"); return 0; } 1.2 在屏幕上输出多行信息(3分) 题目内容: 使用printf()函数在屏幕上输出以下多行信息: hello world! hello hit! hello everyone! 提示: 在printf()函数中转义字符‘\n’表示换行。

输入格式: 输出格式: 输出提示信息: "hello world!\n" "hello hit!\n" "hello everyone!\n" 输入样例: 输出样例: hello world! hello hit! hello everyone! #include int main() { printf("hello world!\n"); printf("hello hit!\n"); printf("hello everyone!\n"); return 0; } 1.3 计算半圆弧的周长及半圆面积(3分) 题目内容: 编程并输出半径r=5.3的半圆弧的周长及该半圆的面积,的取值为3.14159。要求半径r和必须利用宏常量表示。输入格式: 无 输出格式: 半圆的面积输出格式: "Area=%f\n" 半圆弧的周长输出格式: "circumference=%f\n" 输入样例: 输出样例: Area=44.123632 circumference=16.650427 #include #define PI 3.14159 #define R 5.3 int main() { printf("Area=%f\n", R*R*PI/2); printf("circumference=%f\n", 2*R*PI/2); return 0; }

C语言试题及答案

大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

c语言程序设计第五版习题答案

c语言程序设计第五版习 题答案 Prepared on 24 November 2020

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、dowhile语句、switch语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么它由哪几部分组成 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { inta1,a2,x; a1=100; a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main()

{ inta1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* IloveCprograms! ************************* 【分析与提示】 ①要有文件包含语句#include<>。C语言中没有数据的输入、输出等功 能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf 等来实现的。这些函数的说明都包括在文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干 条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include<> main() { printf("************************\n"); printf("IloveCprograms!\n"); printf("************************\n"); } 第2章数据类型及其运算一.简答题 1.C语言中的数据类型主要有哪几类 【解答】短整型(shortint) 整型整型(int) 长整型(longint) 基本类型字符型(char)(float) 实型(浮点型) 双精度(double) 枚举类型(enum) 数组类型

历年C语言考试题库及答案

C语言理论上机考试选择题部分(共200题,仅针对11级定向专业) 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); }

c语言编程例题及答案

实验报告三 (四学时) 2.1 实验目的 (1)掌握函数的定义和调用; (2)了解函数间的参数传送; 2.2 基础实验 【题目3-1】编写函数实现将输入的字母转换成大写字母(若输入小写则转换,大写字母直接输出,其他字符请输出提示“请输入字母”)。 算法分析: 1、输入:通过键盘接收一个字符; 2、条件判断:调用判别函数 3、函数功能为:蒋所输入字符进行判别处理,若输入小写则转换,大写字母直接输出,其他字符请输出提示“请输入字母” 4、程序结束。 【实验3-1】代码及运行结果:

【题目3-2】从键盘输入若干个同学计算机课程期末考试成绩(学生人数可由用户输入),求该课程的期末成绩的平均分并输出。 函数功能要求:实现若干(例如5名)同学的的期末成绩输入,并统计出平均分。 算法分析: 1、输入:通过键盘接收同学个数; 2、调用求平均分函数 3、输出平均成绩 4、程序结束。 【实验3-2】代码及运行结果: 【题目3-3】请用函数编写程序实现:计算3 到100 之间所有素数的平方根之和,并输出。s=148.874270。

算法分析: 1、编写函素数判别函数,确定返回标记,如果是素数返回1,否则返回0 2、编写主函数,用一重循环遍历100以内所有数据 2.1、通过素数判别函数对循环的数据进行是否为素数的判别 2.2、返回判别为真的整数,并输出 3、程序结束。 【实验3-3】代码及运行结果: #include #include int Prime(int x) { int i ; if(x<=1) return 0; for(i=2;i<=x-1;i++) { if(x%i==0) { return 0; } } return 1; } int main() { double i,sum; i=3; sum=0; while(i<=100) { if(Prime(i)) { sum=sum+sqrt(i); } else { sum=sum+0; } i++; } printf("sum=%f\n",sum); return 0; }。

2020最新C语言题库及答案

2020最新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

C语言习题答案分析

C语言章节复习题 目录 C 语言章节复习题 第一章 C 语言概述 第三章数据类型、运算符和表达式 第四章顺序结构程序设计 第五章选择结构程序设计 第六章循环结构程序设计16

第一章 C 语言概述 二、填空题: 1、 C 语言只有 (32)个关键字和 ( 9)种控制语句。 2、每个源程序有且只有一个 (main )函数,系统总是从该函数开始执行 3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 (\*) 符号作为开始标记,以 ( ) 符 号作为结束标记。 4、 C 语言中,输入操作是由库函数 (scanf )完成的,输出操作是由库函数 (printf )完成的。 5、 系统默认的 C 语言源程序文件的扩展名是 (.C ),经过编译后生成的目标文件的扩展名是 (.obj ), 经过连接后生成的可执行文件的扩展名是 (.exe ) 。 6、 C 语言的标识符只能由字母、数字和 (下划线 ) 三种字符组成。 第三章 数据类型、运算符和表达式 一、选择题: 1、一个 C 程序的执行是从( A )。 A 本程序的 main 函数开始,到 main 函数结束 B 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C 本程序的 main 函数开始,到本程序文件的最后一个函数结束 D 本程序文件的第一个函数开始,到本程序 main 函数结束 在 C 语言中,每个语句必须以( D )结束。 回车符 B. 冒号 C. 逗号 D. 分号 C 语言规定:在一个源程序中, main 函数的位置( C )。 必须在最开始 B. 必须在系统调用的库函数的后面 可以任意 D. 必须在最后 一个 C 语言程序是由( B )。 一个主程序和若干子程序组成 B. 函数组成 若干过程组成 D. 若干子程序组成 下列说法中错误的是 (D )。 主函数可以分为两个部分:主函数说明部分和主函数体 主函数可以调用任何非主函数的其他函数 任何非主函数可以调用其他任何非主函数 程序可以从任何非主函数开始执行 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将 生成可执行目标文件 B. 生成目标文件 输出运行结果 D. 自动保存源 文件 2、 A. 3、 A. C. 4、 A. C. 5、 A. B. C. D. 6、 A. C. C 语言程序。

2020年C语言题库及答案

2020年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 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

相关主题