当前位置:文档之家› 超级经典c语言陷阱考试题

超级经典c语言陷阱考试题

超级经典c语言陷阱考试题
超级经典c语言陷阱考试题

若有定义:int a[2][3],则对a数组的第i行j列元素地址的正确引用为___d___.

a)*(a[i]+j) b)(a+i) c)*(a+j) d)a[i]+j

以下正确的程序段是_________.

a)char str[20]; b)char *p;

scanf("%s",&str); scanf("%s",p);

c)char str[20]; d)char str[20],*p=str;

scanf("%s",&str[2]); scanf("%s",p[2]);

下面程序的运行结果是_______.

#include

#include

fun(char *w,int n)

{char t,*s1,*s2;

s1=w;s2=w+n-1;

while(s1

}

main()

{

char p[] = “1234567”;

fun(p,strlen(p));

puts(p);

}

a)7654321 b)1714171 c)1711717 d)7177171

下面程序段的运行结果是__ hELLO!______.

char s[80],*sp="HELLO!";

sp=strcpy(s,sp);

s[0]='h';

puts(sp);

.下面程序段的运行结果是__ef_____.

char str[]="abc\0def\0ghi",*p=str;

printf("%s",p+5);

设有如下定义:int x = 1, y = -1;,则语句:printf(“%d\n”, (x--&++y));的输出结果是:B

A. 1

B.0

C.-1

D. 2

设有如下定义:int a, b;,则语句:printf("%d", (a = 5) && (b = -1));的输

出结果是:A

E. 1

F. 5

G.-1

H.不确定

程序执行后的输出结果是:n = 3

int i, n = 0;

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

do {

if (i % 3) {

continue;

}

--n;

} while(!i);

n++;

}

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

1.以下代码,哪一句是非法的?____最后一句s.p[0] = 2;____

struct po_s

{

int i;

int *p;

};

int main(void)

{

struct po_s s;

int *p;

p = &s.i;

p[0] = 4;

p[1] = 3;

s.p = p;

s.p[1] = 1;

s.p[0] = 2;

return 0;

2.以下代码,输出什么?____a3, BB(注意大小写)____

int a[5] = {0x1a,0xa3,0xd3,0xe4,0xbb};

int *ptr;

ptr = (int *)(&a + 1);

printf("%x, %X", *(a + 1), *(ptr - 1));

3.下面的代码输出是什么,为什么?

void foo(void)

{

unsigned int a = 0x10;

int b = -20;

(a + b > 6) ? puts("> 6") : puts("<= 6");

}

输出>6

因为表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。

因此-20变成了一个非常大的正整数,所以该表达式计算出的结果大于6。

4.说明以下两个语句的作用,哪个更好?为什么?

#define PS struct po_s*

typedef struct po_s* PS_t;

这两个语句是将PS 和 PS_t 作为一个指向结构po_s指针。typedef更好。

因为如下代码

PS p1, p2;

PS_t p3, p4;

p1为一个指向结构的指,p2为一个实际的结构,这也许不是你想要的。第二个例子正确地定义了p3 和p4 两个指针。

5.下面两段代码一样吗?为什么?

int square(volatile int *ptr)

{

int a, b;

a = *ptr;

b = *ptr;

return a * b;

}

int square(volatile int *ptr)

{

int a;

a = *ptr;

return a * a;

}

由于*ptr的值可能被意想不到地该变,因此a和b可能是不同的。第一段段代码返回的可能不是你所期望的平方值。

#include

static jmp_buf buf;

main(b)

{

volatile int b;

b =3;

if(setjmp(buf)!=0)

{

printf("%d ", b);

exit(0);

}

b=5;

longjmp(buf , 1);

}

请问, 这段程序的输出是

(a) 3

(b) 5

(c) 0

(d) 以上均不是

考查多维数组与指针

void foo(int [][3]);

main()

{

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

foo(a);

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

}

void foo(int b[][3])

{

++ b;

b[1][1] =9;

}

这段程序的输出是: b

(a) 8

(b) 9

(c) 7

(d)以上均不对

考查自减操作(--)

void e(int );

main()

{

int a;

a=3;

e(a);

}

void e(int n)

{

if(n>0)

{

e(--n);

printf("%d", n);

e(--n);

}

}

void f(char**);

main()

{

char * argv[] = { "ab" ,"cd" , "ef" ,"gh", "ij" ,"kl" }; f( argv );

}

void f( char **p )

{

char* t;

t= (p+= sizeof(int))[-1];

printf( "%s" , t);

}

这段程序的输出是: b

(a) ab

(b) cd

(c) ef

(d) gh

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语言考试试题

C语言模拟试题 一、判断 1、关系运算符<= =与= =的优先级相同。(N ) 2、C语言的函数可以嵌套定义。(N ) 3、若有定义和语句:int a;char c;float f;scanf(“%d,%c,%f”,&a,&c,&f);若通过键盘输入:10,A,12.5, 则a=10,c=?A?,f=12.5.( Y ) 4、变量根据其作用域的范围可以分作局部变量和全局变量。( Y ) 5、#define和printf都不是C语句。( Y ) 6、Int I,*p=&I;是正确的C说明。( Y ) 7、结构体类型只有一种。( N ) 8、在Turbo C中,整形数据在内存中占2个字节。( N ) 9、一个include命令可以指定多个被包含的文件。( N ) 10、有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是*(p+8).( Y ) 二、选择 2、C语言中,char类型数据占(A) A、1个字节 B、2个字节 C、4个字节 D、8个字节 3、已知x=43,ch=?A?,y=o;则表达式(x>=y&&ch1;i--) for(j=1;j

C语言期末考试题库(第一章 c语言基

一、单项选择 1.算术运算符,赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为(). A、关系运算,赋值运算,算术运算 B、算术运算,关系运算,赋值运算 C、算术运算,赋值运算,关系运算 D、关系运算,算术运算,赋值运算 答案:B 2.下述正确的C语言常量是:(). A、E2 B、3e-3 C、1.5E2.5 D、5.0E 答案:B 3.使用共用体变量,不可以(). A、进行动态管理 B、节省存储空间 C、同时访问所有成员 D、简化程序设计 答案:C 4.为表示关系x>=y>=z,应使用C语言表达式为:()

A、(x>=y)&(y>=z) B、(x>=y>=z) C、(x>=y)&&(y>=z) D、(x>=y)AND(y>=z) 答案:C 5.以下程序的输出结果是(). main() {char str[]="ABCD",*p=str;printf("%s\n",p);} A、68 B、ABCD C、不确定的值 D、字符D的地址 答案:B 6.char a[10];不能将字符串"abc"存储在数组中的是(). A、a="abc"; B、a[0]=0;strcat(a,"abc"); C、int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0; D、strcpy(a,"abc"); 答案:A 7.fscanf函数的正确调用形式是(). A、fscanf(文件指针,格式字符串,输入表列);

B、fscanf(格式字符串,文件指针,输出表列); C、fscanf(fp,格式字符串,输出表列); D、fscanf(格式字符串,输出表列,fp); 答案:A 8.下列数组说明中正确的是(). A、int array[][]={1,2,3,4,5,6,7,8,9,10}; B、int array[][][5]={1,2,3,4,5,6,7,8,9,10}; C、int array[][4]={1,2,3,4,5,6,7,8,9,10}; D、int array[3][]={1,2,3,4,5,6,7,8,9,10}; 答案:C 9.以下选项中,与k=n++完全等价的表达式是(). A、n=n+1,k=n B、k+=n+1 C、k=++n D、k=n,n=n+1 答案:D 10.针对下列程序段回答问题(). for(t=1;t<=100;t++) { scanf("%d",&x); if(x<0)continue;

C语言期末考试题(含答案)

《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是() A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中() A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是() A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是() A )x1=26.8%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:floata=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(2 1 的计算结果不.相符的是() A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是() A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue 7.在while (!x )语句中的!x 与下面条件表达式等价的是() A)x!=0B)x==1C)x!=1D)x==0

8、有以下程序: #include voidmain(){ inti=1,j=1,k=2; if((j++||k++)&&i++) printf(“%d,%d,%d\n”,i,j,k);} 执行后的输出结果是() A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 9、有以下程序: #include voidmain(){ inti,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s);} 程序执行后的输出结果是() A)自然数1~9的累加和B)自然数1~10的累加和 C)自然数1~9中奇数之和D)自然数1~10中偶数之和 10、有以下函数定义: voidfun(intn,doublex){……} 若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()A)fun(inty,doublem); B)k=fun(10,12.5); C)fun(x,n);D)voidfun(n,x); 二、填空题(10x2’=20’) 11、C语言描述“x和y都大于或等于z”的表达式是:。 12、函数定义时涉及的基本要素是:、、。

C语言题库(填空题部分)

二、填空题 1、C语言中对文件读写之前必须先打开文件,文件的打开是通过调用________函数来实现。 答案: 1:fopen#fopen()#fopen() 知识点:知识点/基本理论/C11文件/C11_2文件函数 2、C语言中文件操作结束节后,必须关闭文件。而且关闭文件是通过调用__________函数来实现。 答案: 1:fclose#fclose()#fclose() 知识点:知识点/基本理论/C11文件/C11_2文件函数 3、字符串函数________用于从指定的磁盘文件中读出一个字符串。 答案: 1:fgets#fgets() 知识点:知识点/基本理论/C11文件/C11_2文件函数 4、字符串函数___________用于把一个字符串写入指定的磁盘文件中。 答案: 1:fputs#fputs() 知识点:知识点/基本理论/C11文件/C11_2文件函数 5、字符读写函数____________是用于从磁盘文件中读出一个字符。 答案: 1:fgetc#fgetc()#getc#getc() 知识点:知识点/基本理论/C11文件/C11_2文件函数 6、字符读写函数____________是用于把一个字符写入磁盘文件。 答案: 1:fputc#fputc()#putc#putc() 知识点:知识点/基本理论/C11文件/C11_2文件函数 7、共用体类型变量的定义关键字是________。 答案: 1:union 知识点:知识点/基本理论/C10共用体与枚举类型 8、定义枚举类型时采用的关键字是__________。 答案: 1:enum 知识点:知识点/基本理论/C10共用体与枚举类型 9、在C语言中,从参数的形式看,函数可以分为两类:无参函数和____________函数。 答案: 1:有参 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 10、在C语言中,函数的返回值是由___________语句传递的。 答案: 1:return#return() 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 11、在C语言中,按函数在程序中出现的位置可分为以下三种调用方式:函数语句、函数表达式和函数 __________。 答案: 1:参数 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 12、在C语言中,在调用一个函数的过程中又出现__________或间接地调用该函数本身,这一现象称为函数的递归调用。 答案: 1:直接 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 13、在C语言中,若确实不要求返回函数值,则应将函数定义为___________类型。 答案: 1:void 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 14、在C语言中,假使X为基本整型变量,如果我们采用printf("格式控制",X)格式输出X,那么"格式控制"具体表示为"__"。

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

C语言期末考试试题

C语言试题1 一填空题(15分) 1.设x的值为15,n的值为2,则表达式x%=(n+=3)运算后,x的值为()。 2.设int a=7,b=9,t;执行完表达式t=(a>b)?a:b后,t的值是()。 3.下面程序段的输出结果是()。 int a=1234; a=a&0377; printf(“%d %o\n”,a,a); 4.a数组定义如下,按照内存排列顺序,a数组中的所有元素是()。 char a[3]; 5.设有以下宏定义,则执行赋值语句a=PP*20;(a为int型变量)后,a的值是()。 #define PR 80 #define PP PR+403 6.在C程序中,可以通过三种运算方式为指针变量赋地址值,它们是:()、()和()。7.在C文件中,数据存在的两种代码形式是()和()。 8.C语言中调用()函数打开文件,调用()函数关闭文件,调用()函数可实现文件的随机读写。 9.若有int a[3]={10,12,30};则a+1是()的地址,*(a+2)=()。 二判断对错(5分,对的划“√”,错的划“×” 1.在Turbo C中,整型数据在内存中占2个字节。() 2.表达式1/4+2.75的值是3。() 3.结构体类型只有一种。() 4.函数若无返回值,则它一定无形参。() 5.C语言只能处理文本文件和二进制文件。() 三选择题(20分) 1.设int a=12; 表达式a+=a-=a*=a的值是()。 A 12 B 144 C 0 D 132 2.以下程序的输出结果是()。 main( ) { int a=011; printf(“%d\n”,++a); } A 12 B 11 C 10 D 9 3.以下程序的输出结果是()。 #define ADD(x) (x)+(x) main() { int a=4,b=6,c=7,d=ADD(a+b)*c; printf(“d=%d”,d); } A d=70 B d=140 C d=280 D d=80 4.下面的选项中正确的赋值语句是(char a[5],*p=a;)()。 A p=“abcd”; B a=“abcd”; C *p=“abcd”; D *a=“abcd”; 5.若k为整形,则while循环执行()次。 k=2; while(k==0) printf(“%d”,k); k--; printf(“\n”); A 10 B 9 C 0 D 1

(完整版)c语言期末考试题及其答案

选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套

C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); } A d=70 B d=80 C d=140 D d=700 10.已知职工记录描述如下,在Turbo C中,系统为变量w分配()字节的空间。 struct worker { int no; char name[20]; char sex; union { int day; int month; int year;}birth; } w; A 29 B 20 C 25 D 6 11.设有以下定义,值为5的枚举常量是()。 enum week{sun,mon=4,tue,wed,thu,fri,sat} w; A tue B sat C fri D thu 12.下面选项中正确的赋值语句是(设char a[5],*p=a;)()。 A p="abcd"; B a="abcd"; C *p="abcd"; D *a="abcd"; 13.设有以下程序段,则值为6的表达式是()。 struct st { int n; struct st *next;}; static struct st a[3]={5,&a[1],7,&a[2],9,0 },*p; p=&a[0]; A p++->n B ++p->n C p->n++ D (*p).n++ 写出下列程序的运行结果(10分,每小题2分) 1.float average (float array[10]) { int i;

C语言填空题

1、在考生目录下,给定程序FILL1、C的功能就是: 计算正整数num的各位上的数字之积。 例如,若输入:252,则输出应该就是:20。 若输入:202,则输出应该就是:0。 程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include #include main( ) {long int num,k; /************found************/ _____(1)_______ k=1; clrscr() ; printf("\Please enter a number:") ; scanf("%ld",&num) ; do { k*=num%10 ; /************found************/ _____(2)______ num=num/10 ; } while(num) ; printf("\n%ld\n",k) ; } 2、在考生目录下,给定程序FILL1、C的功能就是:从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字 符串转换成一个十进制数。 例如:从键盘上输入2345,则程序运行的结果应当为: n=2345。 程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include "stdio、h" main() { char s[10]; int i; long int n=0; clrscr(); /**************found************/ ___(1)___; scanf("%s",s); /**************found************/ for(i=0;___(2)___;s[i] != ‘\0’ ;i++) n=n*10+s[i]-'0'; printf("n=%ld\n",n);

c语言期末考试试题

一、单项选择题。(每题1分,共20分) 1. C程序的基本单位是:() A.子程序 B.程序 C.子过程 D.函数 2.在C语言中,非法的八进制是:() A.016 B.018 C.017 D.02 3. 不是C语言实型常量的是:() A.55.0 B.0.0 C.55.5 D.55e2.5 4 .字符串“xyzw”在内存中占用的字节数是:() A.6 B.5 C.4 D.3 5. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:() A.2.0 B.2.25 C.2.1 D.1.5 D.1.5 D.1.5 D.1.5 6. 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2- `a`,c2-c1);则输出结果为:() (a的ASCII码值为97) A.M,2 B.G,3 C.G,2 D.D,g 7. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据 输入是:() A.a=2.2,b=3 B.a=2.2 b=3 C.2.2 3 D.2.2,3 8.表示关系12<=x<=y的C语言表达式为:() A.(12<=x)&(x<=y) B. (12<=x)&&(x<=y) C. (12<=x)|(x<=y) D.(12<=x)||(x<=y) 9.设x=1,y=2,m=4,n=3,则表达式x>y?x:mc4)后,s,t的值为:() A.1,2 B.1,1 C.0,1 D.1,0 12. 语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b); scanf最多可执行次数为:() A.4 B.6 C.5 D.1 13. 对于for(s=2;;s++)可以理解为:()

C语言填空题以及答案

1. 一条简单语句是以________字符作为结束符的,一条复合语句是分别以 ________字符和________字符作为开始符和结束符的。 2. 任何一个C++程序至少且只能包含一个________函数,且程序总是从这个函数开始执行,不论这个函数的位置如何。一个函数定义由________和________两部分组成。 3. C++头文件和源程序文件的扩展名分别为________和________。 4. cout与操作符_______配合使用才能显示输出,cin与操作符_____配合使用才能实现输入。 5. 数据类型int,char,bool,float,double, int * 等的类型长度分别为________、________、________、________、________和________。 6. 数值常量46、0173和0x62对应的十进制值分别为________、________和________。 7. 字符串”It\’s\40a\40C++programe!”中包含有__________个字符。 8. 若x=5,y=10,则计算y*=++x表达式后,x和y的值分别为________和 ________。 9. 若x=25,则计算y=x--表达式后,x和y的值分别为________和________。 10. 假定x和ch分别为int型和char型,则sizeof(x)和sizeof(ch)的值分别为________和________。 11. 假定x=64,y=88,则x<<2和y>>2的值分别为________和________。 12. 假定x是一个逻辑量,则x&&true的值与________的值相同,x||false的值也与________的值相同。 13. 假定x是一个逻辑量,则x&&!x和x||!x的值分别为________和________。 14. 假定x=10,则表达式x<=10?20:30的值为________。 15. 表达式sqrt(81)和pow(6,3)的值分别为______________和 ______________。 16. 数学算式(1+x)sin48°和axbex+1对应的算术表达式分别为________和 ________。 17. 逻辑表达式:a>=x||b>2*y+10的相反式为:________。 18. 在嵌套的if语句中,每个else关键字与它前面最接近的________关键字相配套。 19. 在for语句中,假定循环体被执行次数为n,则<表达式1>共被计算________次,<表达式2>共被计算________次,<表达式3>共被计算________次。20. 执行for和while循环时,每次是先进行________的判断,然后再执行 ________,执行do循环时则相反。

大学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;

2019年C语言期末考试题与答案

1、给定n个数据, 求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)。 最大值第三行i<=n五行k+1 2、编写程序求无理数e的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 3、求一批数中最大值和最小值的积。 4、某一正数的值保留2位小数,对第三位进行四舍 五入。 5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他)6、求出N×M整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 1 5 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 7、求一个n位自然数的各位数字的积。(n 是小于10的自然数) 8、计算n门课程的平均值,计算结果作为函数值返回。例如:若有5门课程的成绩是:92,76,69,58,88,则函数的值为76.599998。 9、求一批数中小于平均值的数的个数。

10、编写函数判断一个整数m 的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。 11、请编一个函数void fun(int tt[M][N],int pp[N]), tt 指向一个M 行N 列的二维数组,求出二维数组每列 中最大元素,并依次放入pp 所指一维数组中。二维 数组中的数已在主函数中赋予。 12、编写函数fun 用比较法对主程序中用户输入的具有10 个数据的数组a 按由大到小排序,并在主程序中输出 排序结果。 13、编写main 程序调用函数fact 求解从m 个元素选n 个元 素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。 要求:m 不能小于n ,否则应有容错处理。 说明:函数fact(x)的功能是求x!。 14、找出一批正整数中的最大的偶数。 15、实现两个整数的交换。 例如:给a 和b 分别输入:60和65,输入为: a=65 b=60 16、将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 17、求一个四位数的各位数字的立方和。 18、求一组数中大于平均值的数的个数。 例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函 数值为3。 19、对任意输入的 x ,用下式计算并输出 y 的值。 5 x<10 y= 0 x=10 -5 x>10

c语言程序填空题完整

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

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

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

C语言填空题

1. 在考生目录下,给定程序FILL1.C的功能是: 计算正整数num的各位上的数字之积。 例如,若输入:252,则输出应该是:20。 若输入:202,则输出应该是:0。 程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! #include #include main( ) {long int num,k; /************found************/ _____(1)_______ k=1; clrscr() ; printf("\Please enter a number:") ; scanf("%ld",&num) ; do { k*=num%10 ; /************found************/ _____(2)______ num=num/10 ; } while(num) ; printf("\n%ld\n",k) ; } 2. 在考生目录下,给定程序FILL1.C的功能是:从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字符串转换成一个十进制数。 例如:从键盘上输入2345,则程序运行的结果应当为:n=2345。 程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! #include "stdio.h" main() { char s[10]; int i; long int n=0; clrscr();

/**************found************/ ___(1)___; scanf("%s",s); /**************found************/ for(i=0;___(2)___;s[i] != ‘\0’ ;i++) n=n*10+s[i]-'0'; printf("n=%ld\n",n); } 3. 在考生目录下,给定程序FILL1.C的功能是:输出Fabonacci数列:1,1,2,3,5,8,……的前20项的 项值,要求每行输出5个数。请填空。 程序有两个空(1)、(2)需要补充完整。请将程序调试出 所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include "stdio.h" main() { long int f[20]={1,1}; int i; clrscr(); /**************found************/ ___(1)___; printf("%8ld,%8ld",f[0],f[1]); for(i=2;i<20;i++) { f[i]=f[i-1]+f[i-2]; /**************found************/ if(___(2)i%5==0) printf("\n"); printf("%8ld",f[i]); } printf("\n"); } 4. 在考生目录下,给定程序FILL1.C的功能是:实现在N行M列的二维数组中,找出每一行上的最大值,且原数组值不变。 例如:如果二维数组元素的值为: 1 5 7 4 2 6 4 3 8 2 3 1 时,程序的运行结果应为: The max value in line 0 is 7 The max value in line 1 is 6

大一c语言考试试题

一、单项选择题(每小题2分,共50分) 1、一个C程序的执行是从___A__。 A、本程序的main函数开始,到main函数结束 B、本程序的main函数开始,到本程序文件的最后一个函数结束 C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 2、C语言程序的基本单位是___C___。 A、程序行 B、语句 C、函数 D、字符 3、请选出可用作C语言用户标识符的一组标识符___B___。 A、void B、a3_b3 C、For D、2a define_123-abcDO WORDIFasesizeof 4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是__C__。 A、、4 C、、 5、下列可以正确表示字符型常量的是___D__。 A、297 B、"a" C、"\n" D、'\t' 6、在C语言中,要求运算数必须是整型的运算符是__D__。 A、/ B、++ C、*= D、% 7、C语言中,复合语句的构成是将一系列语句置于__C__。 A、begin与end之间 B、方框号“[]”之间 C、花括号“{}”之间 D、圆括号“()”之间 8、有如下程序段,对应正确的数据输入是___A___。 floatx,y; scanf(”%f%f”,&x,&y); printf(”a=%f,b=%f”,x,y); A、<回车> B、,<回车> <回车> C、A=,B=<回车> D、回车> 9、以下程序段的输出结果是___D__。 inta=5678; printf(”%2d\n”,a); A、提示出错、无结果 B、56 C、78 D、5678 10、已知:charch='A';则下列表达式的值是__B__。 ch=(ch>='A'&&ch<='Z')?(ch+32):ch; A、A B、a C、Z D、z

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