当前位置:文档之家› C语言编程基础考试试题

C语言编程基础考试试题

C语言编程基础考试试题
C语言编程基础考试试题

C语言编程基础考试试题

文档名称文档密级

C语言编程基础考试

[考前说明]本题目中不考虑头文件引用问题(假定已经包含正确的头文件),C 语言的标

准函数都可用;如果不特别说明,

假定程序运行环境为:操作系统Windows 2000, VC6.0编译环境,缺省为四字节对齐,

X86(80586)CPU处理器(32位小字节序处理器).

一、单选题

1、给出以下定义:

char acX[ ]= "abcdefg";

char acY[ ]= {'a','b','c','d','e','f','g'};

则正确的叙述为( )

A) 数组acX和数组acY等价 B) 数组acX和数组acY的长度相同

C) 数组acX的长度大于数组acY的长度 D) 数组acX的长度小于数组Y的长度

2、 void example(char acHello[])

{

printf("%d", sizeof(acHello));

return;

}

void main()

{

char acHello[] = "hello";

example(acHello);

return;

}

的输出是( )

A 4

B 5

C 6 D不确定

3、以下叙述中不正确的是( )

A) 在不同的函数中可以使用相同名字的变量

B) 函数中的形式参数是在栈中保存

C) 在一个函数内定义的变量只在本函数范围内有效

D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(复合语句指函数

中的成对括号构成的代码)

4、设有如下定义:

unsigned long pulArray[] = {6, 7, 8, 9, 10};

unsigned long *pulPtr;

则下列程序段的输出结果为( )

1

文档名称文档密级

pulPtr = pulArray;

*(pulPtr + 2) += 2;

printf ("%d,%d\n", *pulPtr, *(pulPtr + 2));

A)8,10 B)6,8 C)7,9 D)6,10

5、有以下程序段

char acArr[]= "ABCDE";

char *pcPtr;

for(pcPtr = acArr; pcPtr < acArr + 5; pcPtr++) {

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

}

return;

输出结果是( )

A) ABCD B) A C) E D) ABCDE

B D BCDE

C C CDE

D B DE

E A E

6、 void example( )

{

int i;

char acNew[20];

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

{

acNew[i] = '0';

}

printf("%d\n", strlen(acNew));

return;

}

的输出为( D )

A 0

B 10

C 11 D不确定

7、 switch(c)中的c的数据类型可以是char、long、float、unsigned、bool. ( )

A. 正确

B. 错误

8、全局变量可以定义在被多个.C文件包含着的头文件中。( )

A. 正确

B. 错误

9、 struct stu

{

int num;

2

文档名称文档密级

char name[10];

int age;

};

void fun(struct stu *p)

{

printf("%s\n", (*p).name);

return;

}

void main()

{

struct stu students[3]={ {9801,"Zhang",20},

{9802,"Wang",19},

{9803,"Zhao",18} };

fun(students + 2);

return;

}

输出结果是( )

A) Zhang B)Zhao C) Wang D) 18

10、以下程序运行后,输出结果是( ) void main( )

{

char *szStr = "abcde";

szStr += 2;

printf("%lu \n",szStr);

return;

}

A cde

B 字符c的ASCLL码值

C "abcde"这个常串中字符c所在的地址

D 出错

11、在X86下,有下列程序

#include

void main()

{

union

{

int k;

char i[2];

}*s,a;

s = &a;

s->i[0] = 0x39;

s->i[1] = 0x38;

printf("%x\n", a.k);

3

文档名称文档密级

}

输出结果是( )

A) 3839 B) 3938 C) 380039 D) 不可预知

12、网络上传输的字节序默认是大字节的,如果主机是小字节序,在网络通信

时则须进行字节序转换;如果主机是大字节序,为了程序的一致性及可移植性,最

好也在程序中加上字节序转换的操作(空操作)。( )

A. 正确

B.错误

void example() 13、

{

int i;

char acNew[20] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0};

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

{

acNew[i] = '0';

}

printf("%d\n", strlen(acNew));

return;

}

的输出为:( )

A 0

B 10

C 11 D不确定

14、在函数内部定义的变量(静态变量、寄存器变量等特殊变量除外)的内存是

在栈内存中,所以在定义函数内部的变量的时候,一定要保证栈不能够溢出。如果

临时变量占用空间较大,应该使用内存申请的方式,这样该变量指向的内存就是

在堆内存中了。( )

A. 正确

B. 错误

15、局部变量可以和全局变量重名,编译的时候不会出现错误,但一旦不小心,

就可能导致使用错误变量,所以在定时局部变量的时候,不要和全局变量重名。( )

A. 正确

B. 错误

16、设有以下宏定义:

#define N 3

#define Y(n) ((N+1)*n) /*这种定义在编程规范中是严格禁止的*/

则执行语句:z = 2 * (N + Y(5 + 1));后,z的值为( )

A) 出错 B) 42 C) 48 D)54

17、 int *(*ptr)();

则以下叙述中正确的是( )

4

文档名称文档密级

A) ptr是指向一维组数的指针变量

B) ptr是指向int型数据的指针变量

C) ptr是指向函数的指针,该函数返回一个int型数据

D) ptr是指向函数的指针,该函数的返回值是指向int型数据的指针

18、 0x12345678 在采用BigEndian中内存的排列顺序是______,在采用LittleEndian内存中的排列顺序是______.

(答案从左到右内存地址依次增加)

A.12 34 56 78

B.34 12 78 56

C.78 56 34 12

D.56 78 12 34

19、请指出下面程序问题

#define MAX_LEN 254

unsigned char Array[MAX_LEN]; int main(int argc, char *argv[]) { int i;

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

{

Array[i] = i;

}

return;

}

程序的错误为():

A、i = MAX_LEN时,数组越界

B、argv参数形式错误

C、i = MAX_LEN时,赋值溢出

D、return无返回值

20、 #define BUFFER_SIZE 256 void GetMemory(char **ppszBuf) { if (NULL == ppszBuf)

{

ASSERT(0);

return ;

}

*ppszBuf = (char *)malloc(BUFFER_SIZE);

return;

}

void Test(void)

{

char *pszBuf=NULL;

5

文档名称文档密级

GetMemory(&pszBuf);

strcpy(pszBuf, "hello world\r\n");

printf("%s", pszBuf);

free(pszBuf);

return;

}

下面说法正确的是():

A、pszBuf的值永远为NULL;

B、malloc内存后没有判断是否成功;

C、strcpy拷贝越界;

D、GetMemory无法将申请的内存地址传递给pszBuf;

21、如下程序用于把"blue"字符串打印出来: void PrintBLUE() {

char pcBlue[] = {'b','l','u','e'};

printf("%s",pcBlue);

return;

}

下面描述正确的是():

A、pcBlue数组初始化时没有字符串结束符;

B、数组pcBlue定义时必须指明长度;

22、请指出下面这段代码中的错误:

unsigned long FUNC_B ( unsigned long ulCount )

{

unsigned long ulSum = 0 ;

while( 0 <= ulCount )

{

ulSum += ulCount ;

ulCount--;

}

return ulSum ;

}

void test(void)

{

unsigned long ulTotal = 0;

ulTotal=FUNC_B(10);

printf("%lu", ulTotal); }

6

文档名称文档密级

下面描述正确的是():

A、while循环判断始终为真;

B、test打印输出55;

C、循环体内在执行2的32次方后,ulSum开始溢出翻转;

23、此函数实现把32位IP地址(网络序)以字符串的方式打印出来: char *IpAddr2Str(unsigned long ulIpAddr)

{

char szIpAddr[32];

unsigned long ulLocIpAddr = ntohl(ulIpAddr);//把网络序转话为主机序(void)VOS_sprintf(szIpAddr, "%d.%d.%d.%d", ulLocIpAddr >> 24, (ulLocIpAddr >> 16) & 0xff, (ulLocIpAddr >> 8) & 0xff,

ulLocIpAddr & 0xff);

return szIpAddr;

}

下面描述正确的是():

A、数组szIpAddr空间不够;

B、函数返回局部数组szIpAddr变量地址;

C、输出的IP地址次序颠倒;

24、如下程序用于把"blue"字符串返回:

char *GetBLUE(void)

{

char* pcColor ;

char* pcNewColor;

pcColor = "blue";

pcNewColor = (char*)malloc(strlen(pColor));

if(NULL == pcNewColor)

{

return NULL;

}

strcpy(pcNewColor, pcColor);

return pcNewColor;

}

下面描述正确的是:

A、字符串“blue”存放在栈内;

B、函数GetBLUE返回局部变量地址;

C、内存空间分配长度不够,strcpy函数拷贝越界;

25、如下代码实现中,FUNC_A为每毫秒定时执行的函数,在该函数中,需要

实现每TIME_INTERVAL毫秒执行一次DO_Something()的操作。请指出段代码中的错误:

#define ULONG unsigned long

7

文档名称文档密级

#define TIME_INTERVAL 200 void DO_Something(void)

{

/*....*/

return;

}

void FUNC_A ( )

{

static ULONG ulPreCall = 0 ;

ULONG ulNowInMsHigh = 0 ;

ULONG ulNowInMsLow = 0 ;

( VOID ) VOS_Tm_Now( &ulNowInMsHigh, &ulNowInMsLow ) ; /* 获取当前的时

间,以毫秒为单位,用64bits表示, ulNowInMsHigh为高32位, ulNowInMsLow为低32位*/

if( ( 0 == ulPreCall ) || ( ulNowInMsLow >= (ulPreCall +

TIME_INTERVAL) ) )

{

ulPreCall = ulNowInMsLow;

}

else

{

return ;

}

DO_Something();

return ;

}

A、函数FUNC_A第一次被调用时,不执行Do_Something()操作;

B、函数FUNC_A功能在一段时间后失效,因为ulNowInMsLow溢出翻转;

C、ulPreCall不应该定义为静态变量;

26、下面的代码中,函数Test执行完毕后,希望输出1。请指出错误: void VarInit(unsigned char *pucArg) {

*pucArg = 1;

return;

}

void Test()

{

unsigned long ulGlobal;

VarInit(&ulGlobal);

printf("%lu", ulGlobal);

return;

}

8

文档名称文档密级

下面描述正确的是:( )

A.给VarInit( )函数传递的参数类型错误

B.printf()输出格式错误

C.传给VarInit( )中参数pucArg的值为空指针

27、 #define OK 0 #define ERR 1 #define ERROR (-1) #define BUFFER_SIZE 256 char *GetMemory(unsigned long ulSize) {

char *pcBuf = NULL;

pcBuf = (char *)malloc(ulSize);

if(NULL == pcBuf)

{

return ERROR;

}

return pcBuf;

}

void Test(void)

{

char *pszBuf = NULL;

pszBuf = GetMemory(BUFFER_SIZE);

if(NULL != pszBuf)

{

strcpy(pszBuf, "Hello World!\r\n");

printf(pszBuf);

free(pszBuf);

}

return;

}

如下描述正确的是:

A、pszBuf指向的内存不能超过255

B、GetMemory函数的异常分支返回了-1,是一个非法地址

C、GetMemory中异常分支没有释放空间;

D、pcBuf为局部指针,指向的内存将在GetMemory被调用后释放

28、 void AddFunc (unsigned int a, unsigned int b, unsigned int * c)

{

*c = a + b;

}

void main(void)

{

9

文档名称文档密级

unsigned char e = 200;

unsigned char f = 100;

unsigned char g = 0;

AddFunc((unsigned int)e,(unsigned int)f,(unsigned int *)&g);

printf("%d ",g);

}

下面说法正确的是():

A 对g进行类型转换导致函数调用时写内存越界;

B 对e、f进行类型转换导致函数调用时写内存越界;

C 函数调用时不能改变g的值。

29、 #define NULL 0

#define MEM_OK 0

#define MEM_ERR 1

enum ENUM_STAT_ITEM

{

STAT_ITEM0,

STAT_ITEM1,

STAT_ITEM_BUTT

};

typedef struct tag_PERM_COUNT_STAT_INFO {

unsigned short stat_item ;

unsigned shrot number;

} _SPermCountStatInfo;

_SPermCountStatInfo pcsi[STAT_ITEM_BUTT] = {

{ STAT_ITEM0, 16000},

{ STAT_ITEM1, 50000} , }

unsigned long *pulStatDataBuffer = NULL; unsigned short AllocPermMemory(void) {

unsigned short usBufferSize = 0;

unsigned short usLoop = 0;

for(usLoop = 0; usLoop < STAT_ITEM_BUTT; usLoop ++)

{

usBufferSize += pcsi[usLoop].number ;

}

pulStatDataBuffer = (unsigned long*)malloc(sizeof(unsigned long) * usBufferSize);

if (NULL == pulStatDataBuffer)

{

return MEM_ERR;

10

文档名称文档密级

}

return MEM_OK;

}

下面说法正确的是():

A unsigned short 类型不能表示循环体中将16000与50000相加的和66000

B 数组pcsi的number域是unsigned short类型,不能表示50000这么大的数字

C 循环条件应该改为usLoop<=STAT_ITEM_BUTT

30、设有如下定义:

BOOL gstatusA = FALSE;

BOOL gstatusB = TRUE;

int gvarA = 100;

int gvarB = 100;

则执行main函数后后gvarA和gvarB的值分别为( )

BOOL CheckA()

{

if(gstatusA)

{

gvarA++;

}

else

{

gvarA--;

}

return gstatusA;

}

BOOL CheckB()

{

if(gstatusB)

{

gvarB++;

}

else

{

gvarB--;

}

return gstatusB;

}

int main(int argc, char* argv[]) {

if(CheckA() && CheckB() )

{

printf(“Status OK”);

11

文档名称文档密级

}

return 0;

}

A(99和100

B(99和101

C(99和99

D(101和99

31、请问下面函数中1、2、3应该填入什么语句才合理,( ) A、不添,不添,不添

B、free(pMsg); , free(ptmpMsg);,不添

C、free(pMsg);,free(ptmpMsg);,free(ptmpMsg);

D、不添,free(pMsg);,free(ptmpMsg);

E、

free(pMsg); ,free(pMsg); ,free(ptmpMsg);

F、不添,不添,free(ptmpMsg);

#define COMM_MSG_LEN 100

char *get_message_buffer(int malloc_len)

{

char *ptr=NULL;

ptr=(char *)malloc(malloc_len)

return ptr;

大学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语言程序设计适用时间 试卷类别 A 适用专业、年级、班 一、选择题(每小题2分, 2×25=50分) 1.下列叙述错误的是( )。 A) C程序中的每条语句都用一个分号作为结束符B) C程序中的每条命令都用一个分号作为结束符 C) C程序中的变量必须先定义,后使用 D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 2.以下叙述不正确的是( )。 A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面 3.C语言中最简单的数据类型包括( )。 A)整型、实型、逻辑型B)整型、实型、字符型 C)整型、字符型、逻辑型D)字符型、实型、逻辑型 4.C语言中运算对象必须是整型的运算符是( )。 A)%= B)/ C)= D)<= 5.若变量a,i已正确定义,且i已正确赋值,合法的语句是( )。 A)a= =1 B)++i;C)a=a++=5;D)a=int(i); 6.下列运算符中优先级最高的是( )。 A) < B) + C) && D) ! = 7.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型是( )。 A) int B) float C) double D) char 8.设x和y均为int型变量,则语句:x+=y;y=x-y;x-=y;的功能是( )。 A)把x和y按从大到小排列B)把x和y按从小到大排列C)无确定结果D)交换x和y中的值 9.设整型变量a,b的值均为8, printf("%d,%d",(a++,++b),b--);的输出是( )。 A)8,8 B)8,7 C)9,9 D)8,9 10.若有语句scanf("%d%d",&a,&b);要使变量a,b分别得到10和20,正确的输入形式为( )。 A)10 20 B)10,20 C)1020 D)10:20 11.判断char型变量ch是否为大写字母的正确表达式是( )。 A)'A'<=CH<='Z' B) (CH>='A')& (CH<='Z') C)(CH>='A')&& (CH<='Z') D) ('A'<=ch)AND('Z'>=ch) 12.有如下程序 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\n",a,b);} 该程序的输出结果是( )。 A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 13.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下: main( ) { int n,k; float score,sum,ave; sum=0.0; for(n=1;n<=10;n++) { for(k=1;k<=4;k++) { scanf("%f",&score); sum+=score; } ave=sum/4.0; printf("NO%d:%f\n",n,ave); } } 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是( )。 A) sum=0.0; B) sum+=score; C) ave=sun/4.0; D) printf("NO%d:%f\n",n,ave);

C语言考试试卷及答案

2011-2012学年第一学期 C语言程序设计A 课程A卷考试题 共 4 页此第 1 页成绩 一、单项选择题(每小题2分,共40分) 1. C语言中合法的字符常量是() A.n B.’\n’ C.110 D.”n” 2. 有以下程序: main( ) { char ch=’A’; printf(“ch(1)=%d,ch(2)=%c\n”,ch,ch+1); } 程序运行后的输出结果是() A. ch(1)=65,ch(2)=A B. ch(1)=97,ch(2)=A C. ch(1)=65,ch(2)=B D. ch(1)=97,ch(2)=B 3. 能表示a不能被2整除且a、b不相等,但a、b的和等于0的C语言逻辑表达式是() A. a==-b&&a%2==0 B. a!=b&&a+b==0&&a%2 C. !(a%2)&&a==-b D.a%2==0&&a+b==0 4. 以下程序段中语句” printf("i=%d,j=%d\n",i,j);”的执行次数是() int i, j; for(i=3;i ;i--) for(j=1;j<5;j++) printf("i=%d,j=%d\n",i,j); A. 12 B. 20 C. 15 D. 24 5. 执行以下程序段后,x[2]的值是() int x[10]={1,2,3,4,5,6,7,8,9,10},i,j,t; i=0;j=9; while(i

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

中国民航大学2009-2010学年第二学期 《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) 与机器字长有关 8、下列四组(八进制或十六进制)常数中,正确的一组是(【8】)。【8】 A) 016 0xbf 18 B) 0abc 017 0xa C) 010 -0x11 0x16 D) 0A12 7FF -123 9、下列四组转义字符中,合法的一组是(【9】)。 【9】 A)‘\t’‘\\’‘\n’ B)‘\’‘\017’‘\x’

C语言考试试题

1.若x为int型变量,则执行以下语句后,x的值为-60。 x=6; x+=x-=x*x; x=x-x*x=-30 x=x+x=-60 2.若有定义int a[2][3]; 则对a数组的第i行第j列元素地址的正确引用为a[i]+j。 3.若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是*p=*&j。 4.以下叙述正确的是define和if都不能定义为用户标识符。 5. 以下程序的输出结果是2。 #define SQR(X) X*X main() { int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); a/=k+k*m+m/k+k*m+m printf("%d\n",a); } 6. 以下程序的输出结果是4。 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++) for(j=i;j<=i;j++) t=t+b[i][j]; { t=t+b[i][j];} printf("%d\n",t); printf("%d\n",t); }_ 7. 编一个程序,打入星期号,输出该星期的英文名字。例如,输入"1"则输出"Monday",说明:星期日编号为0,要求用指针数组处理。 main() { char *name[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday", "Saturday"}; int n; printf("\nInput the number(0-6):"); scanf("%d", &n); if ((n< 7) && (n>=0)) printf("\nThe name is: %s",name[n]); else printf("\nInput error"); } 8. 局部变量是静态存储变量。错误 9. "文件包含"处理是指一个源文件可以将另一个源文件的内容全部包含进来。正确 10. 若有定义:int *p1,*p2;则p1+p2无实际意义。正确 11. 若在函数内定义形参数组a:int a[3][4];则数组a中各元素可在程序的编译阶段得到初值0。错误 12. 以下不能正确定义二维数组的选项是int a[2][]={{1,2},{3,4}};。 13. 以下程序的输出结果是6 15 15。 int d=1; fun(int p) { static int d=5; d+=p; printf("%d ",d); return(d); } main( ) { int a=3; printf("%d \n", fun(a+fun(d))); }

C语言考试试题基础版

一、选择题 1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。 A. main B. MAIN C. name D. function 2. 在以下关于C 语言的注释的叙述中,不正确的是 。 A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示 B .编译器在编译一个程序时,将跳过注释,不对其进行处理 C .编译器在编译一个程序时,可发现注释中的单词拼写错误 D .程序中注释的多少不会影响所生成的可执行文件的长度 3. 以下叙述不正确的是 。 A .在C 程序中,严格区分大小写字母 B .一个 C 源程序有且仅有一个main 函数 C .在C 程序中,注释只能位于一条语句的后面 D .一个C 程序总是从main 函数开始执行 4. 下列合法的标识符为 A. abde+ B. #KDJF C. 67KDJ D. DK3_ 5. 关于字符串和字符的关系正确的是 A. “A ”与?A ?是相同的 B. 字符串是常量,字符是变量 C. “A ”与?A ?是不同的 D. “A ”与“A ”是相同的 6. 下面关于语句的说法正确的是 A. 下面这两段程序的执行效果是一致的 B. 空语句是只有一个分号的语句,它其实什么也不干 C. 语句的构成不一定需要分号 D. 语句的书写对程序的运行不起作用,因此可以随便写都可以 7. 以下各标识符中,合法的用户标识符组为 。 A. PAd ,P#d ,b-b ,abc ,_0123,ssiped B. cin ,a10,CPP ,float ,del_word ,signed C. void ,max ,hiy ,,list ,*jer if (x>y) {z=x; s=z*z;} else {z=y;s=1/(z*z);} if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);

C语言考试题及答案

一、单项选择题:(10分,每题2分) 1.char *p[10];该语句声明了一个: c 。 A)指向含有10个元素的一维字符型数组的指针变量p B)指向长度不超过10的字符串的指针变量p C)有10个元素的指针数组p,每个元素可以指向一个字符串 D) 有10个元素的指针数组p,每个元素存放一个字符串 2.若int x;且有下面的程序片断,则输出结果为: D 。 for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "**%d\n", x); } A) ##3B) **3C) **3D)##3**4 **4 ##4 ##4**5 ##5 ##5 **5 3.在while(!x)语句中的!x与下面条件表达式等价的是:D 。 A) x!=0 B) x==1 C) x!=1 D) x==0 4.已知 struct point { int x; int y; }; struct rect { struct point pt1; struct point pt2; }; struct rect rt; struct rect *rp = &rt; 则下面哪一种引用是不正确的__D______。 A) r t.pt1.x B) (*rp).pt1.x C) r p->pt1.x D) rt->pt1.x 5.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为: C 。 A) *(a+j*n+i) B) *(a+i*n+j) C) *(*(a+i)+j) D) *(*a+i)+j CDDDC 二、分析程序并写出运行结果。(25分,每题5分) 1. #include main()

c语言考试试题

六 ━━━━━━━━━━━━━━━ 一、判断共10题(共计20分) ━━━━━━━━━━━━━━━ 第1题(2.0分)题号:1259 若定义int m[]={1,2,3,4,5};则m[1]的值为2. 答案:Y 第2题(2.0分)题号:1275 如果定义一个函数时省略类型,则函数没有返回值. 答案:N 第3题(2.0分)题号:12 结构体类型只有一种。 答案:N 第4题(2.0分)题号:1241 在C语言的标识符中,大写字母和小写字母完全等价. 答案: 第5题(2.0分)题号:1271 定义一种结构体类型后,则用该类型定义的所有变量占用内存的大小是相同的. 答案:Y 第6题(2.0分)题号:1269 若定义int a[4]={1,2,3,4};若超界引用a[4]则编译时不报错. 答案:Y 第7题(2.0分)题号:1096 C语言中"%"运算符的运算对象必须是整型. 答案:Y 第8题(2.0分)题号:1109 两个字符串中的字符个数相同时才能进行字符 串大小的比较 答案:N 第9题(2.0分)题号:1135 语句printf("%c",65);存在语法错误. 答案:N 第10题(2.0分)题号:32 若有说明int c;则while(c=getchar());是正 确的C语句。 答案:Y ━━━━━━━━━━━━━━━━━ 二、单项选择共15题(共计30分) ━━━━━━━━━━━━━━━━━ 第1题(2.0分)题号:3114 C语言源程序名的后缀是 A:exe B:c C:obj D:cp 答案:B 第2题(2.0分)题号:184 以下不能正确定义二维数组的选项是 ( ). A:int a[2][2]={{1},{2}}; B:int a[][2]={1,2,3,4}; C:int a[2][2]={{1},2,3}; D:int a[2][]={{1,2},{3,4}}; 答案:D 第3题(2.0分)题号:129 以下各标识符中,合法的用户标识符为 ( ). A:A#C B:mystery C:main D:ab* 答案:B 第4题(2.0分)题号:632 以下叙述正确的是()。 A:do-while语句构成的循环不能用其它语句构 成的循环来代替. B:do-while语句构成的循环只能用break语句 退出. C:用do-while语句构成的循环,在while后的表 达式为非零时结束循环. D:用do-while语句构成的循环,在while后的表 达式为零时结束循环 答案:D 第5题(2.0分)题号:149 以下程序的输出结果是()。 main() {float x=3.6; int i; i=(int)x; printf("x=%f,i=%d\n",x,i); } A:x=3.600000,i=4 B:x=3,i=3 C:x=3.600000,i=3 D:x=3 i=3.600000 答案:C 第6题(2.0分)题号:172 在C语言程序中()。 A:函数的定义可以嵌套,但函数的调用不可以 嵌套 B:函数的定义不可以嵌套,但函数的调用可以 嵌套 C:函数的定义和函数调用均可以嵌套 D:函数的定义和函数调用不可以嵌套 答案:B 第7题(2.0分)题号:678 当调用函数时,实参是一个数组名,则向函数 传送的是()。 A:数组的长度 B:数组的首地址 C:数组每一个元素的地址 D:数组每个元素中的值 答案:B 第8题(2.0分)题号:125 下列程序的输出结果是()。 main() {int a=7,b=5; printf("%d\n",b=b/a); } A:0 B:5 C:1

C语言试题

一、Select one answer from the four answers:( for each question, a total of 30 points) 1.Which of the following expressiong is the equivalent to k=n++? ( ). A) k=n,n=n+1 B)n=n+1,k=n C)k=++n D)k+=n+1 2.What will be the printed output of the following program? ( ). main( ) { int x=10,y=10; printf("%d %d\n",x--,--y); } A)10 10 B) 9 9 C) 9 10 D) 10 9 3.Choose the correct output that following program produces. ( ). main() { int x; x=-3+4*5-6; printf("%d",x); x= 3+4%5-6; printf("%d",x); x=-3*4%6/5; printf("%d",x); x=(7+6)%5/2; printf("%d",x); } A) 11 1 0 1 B) 11 -3 2 1 C) 12 -3 2 1 D)11 1 2 1 4. The printed output of the following program is ( ). #include main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); } A) -1 B) 1 C) 8 D) 0

大学C语言期末考试试题及答案

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

C语言期末考试试题及详细答案

选择练习题 1、C 语言中最简单的数据类型包括( B )。 A 、整型,实型,逻辑型 B 、整型,实型,字符型 C 、整型,字符型,逻辑型 D 、整型,实型,逻辑型,字符型 2、C 语言中,运算对象必须是整型数的运算符是(A )。 A 、% B 、/ C 、%和/ D 、* 3、为表示关系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) 4、C 语言程序的基本单位是( C )。 A 、程序行 B 、语句 C 、函数 D 、字符 5、C 语言的程序一行写不下时,可以( D )。 A 、用逗号换行 B 、用分号换行 C 、用回车符换行 D 、在任意一空格处换行 6、下述标识符中,( C )是合法的用户标识符。 A 、A& B B 、void C 、_student D 、 7、在C 语言中,字符型数据在内存中以( B A 、补码 B 、ASCII 码 C 、反码 D 、原码 8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为( B )。 A 、auto B 、extern C 、static D 、Register 9、以下关于switch 语句和break 语句的描述中,只有(B A 、在switch 语句中必须使用break 语句 B 、在switch 语句中,可以根据需要使用或不使用break 语句 C 、break 语句只能用于switch 语句中 D 、break 语句是switch 语句的一部分 10、C 语言规定:调用一个函数时,实参变量和形参变量之间的数据传递是(B )。 A 、地址传递 B 、值传递 C 、由实参传给形参,并由形参传回给实参 D 、由用户指定传递方式 11、下述C 语言转义符中( D )是非法的。 A 、'\b' B 、'\037' C 、'\0xf ' D 、'\'' 12、为了要计算s=10!(10的阶乘),则以下对s 的定义正确的是( D )。

C语言考试试题基础版

如对你有帮助,请购买下载打赏,谢谢! 一、选择题 1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。 A. main B. MAIN C. name D. function 2. 在以下关于C 语言的注释的叙述中,不正确的是 。 A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示 B .编译器在编译一个程序时,将跳过注释,不对其进行处理 C .编译器在编译一个程序时,可发现注释中的单词拼写错误 D .程序中注释的多少不会影响所生成的可执行文件的长度 3. 以下叙述不正确的是 。 A .在C 程序中,严格区分大小写字母 B .一个 C 源程序有且仅有一个main 函数 C .在C 程序中,注释只能位于一条语句的后面 D .一个C 程序总是从main 函数开始执行 4. 下列合法的标识符为 A. abde+ B. #KDJF C. 67KDJ D. DK3_ 5. 关于字符串和字符的关系正确的是 A. “A ”与’A ’是相同的 B. 字符串是常量,字符是变量 C. “A ”与’A ’是不同的 D. “A ”与“A ”是相同的 6. 下面关于语句的说法正确的是 A. 下面这两段程序的执行效果是一致的 B. 空语句是只有一个分号的语句,它其实什么也不干 C. 语句的构成不一定需要分号 D. 语句的书写对程序的运行不起作用,因此可以随便写都可以 7. 以下各标识符中,合法的用户标识符组为 。 A. PAd ,P#d ,b-b ,abc ,_0123,ssiped B. cin ,a10,CPP ,float ,del_word ,signed C. void ,max ,hiy ,,list ,*jer if (x>y) {z=x; s=z*z;} else {z=y;s=1/(z*z);} if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);

C语言考试试卷

二级 C语言考试试卷 (考试说明及第一部分计算机基础知识略) 第二部分 C语言程序设计 一、选择题(用答题卡答题,答案依次填在21~30答题号内) 21. 若有声明语句char s1[10]={0},s2[10]= "books";则能将字符串"books"赋给数组s1保存的表达式是 21 。 A. s1=”books”; B. strcpy(s2,s1); C. s1=s2; D. strcat(s1,s2); 22. 表达式(a=4*5,b=a*2),b-a,a+=2的值是 22 。 A.2 B. 20 C. 22 D. 42 23. 以下是一个自定义函数的头部,其中正确的是 23 。 A. int fun(int a[ ],b) B. int fun(int a[ ],int a) C. int fun(int * a,int b) D. int fun(char a[ ][ ],int b) 24. 以下数组声明语句中正确的是 24 。 A.int n,a[n]; B. int a[ ]; C. int a[2][3]={{1},{2},{3}}; D. int a[ ][3]={{1},{2},{3}}; 25.已知在某C语言编译系统中表达式sizeof(int)的值是2,如果希望将常量-70000正确地保存在一个变量a中,该变量声明语句应当是 25 。 A.int a; B. long int a; C. unsigned int a; D. unsigned long int a; 26. 以下声明语句中,用于声明一个行指针变量的是 26 。 A. int *p(int); B. int *p; C.int (*p)[3]; D. int (*p)(int); 27. 已知A盘根目录下的一个文本数据文件data.dat中存储了100个int型数据,若需要修改该文件中已经存在的若干个数据的值,只能调用依次fopen函数,已有声明语句FILE*fp;则fopen 函数的正确调用形式是 27 。 A. fp=fopen(”a:\\data.dat”,”r+”); B. fp=fopen(”a:\\data.dat”,”w+”); C. fp=fopen(”a:\\data.dat”,”a+”); D. fp=fopen(”a:\\data.dat”,”w”); 28. 在以下程序中,需要在fun函数中声明一个int型的变量,以下选项中 28 不能用作该变量的名字。 A.x B. y C. fabs D. fun #include int y; main( ) {int a=1; fun(a); } int fun(int x) { ; /* int型变量声明语句位置*/ … /*若干执行语句*/ }

大学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 题号:45 能正确表示逻辑关系:" 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; while(i<10) { if(i<1) continue; if(i==5) break; i++; } } A、死循环,不能确定次数 B、6

C语言考试试题

c语言考试题(一) 一、单项选择题(每题2分,共20分) 1、以下选项中属于C语言的数据类型是() A.复数型B.逻辑型C.集合型D.双精度型 2、一个C程序的执行是从() A.main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束 C.第一个语句开始,直到最后一个语句结束D.main()函数开始,直到最后一个函数结束 3、设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是()A.3 B.0C.-12D.9 4、若有char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是( )。 A.cd\0e B.'c''d' C.cd D.cd e 5、已知:int a[2][3]={1,2,3,4,5,6}, (*p)[3]=a;则下列表达式不是4的是( )。 A.*(*p+3) B.*p+3 C.*(*(p+0)+3) D.a[0][3] 6、以下有宏替换不正确的叙述( ). A.宏替换不占用运行时间B.宏名无类型 C.宏替换只是字符串替换D.宏名必须用大写字母表示

7、执行char str[10]=”Ch\nina”; strlen(str)的值是()A.5 B.6 C.7 D.9 8、下面程序的输出结果是:() #define POWER(x) (x*x) main() {int i=4; printf("%d",POWER(i-2)); } A. -9 B. -7 C. 5 D. -6 9、在定义int a[3][4][2];后,第10个元素是() A.a[2][1][2] B.a[1][0][1] C.a[2][0][1] D.a[2][2][1] 10、下面程序的输出结果是:() typedef struct {long x[2]; short y[4]; char z[8]; }MYTYPE; MYTYPE a; main() { printf("%d\n",sizeof(a));} A. 2 B. 8 C. 14 D. 24 二、填空题(每空1分,共11分) 1、字符串"A"在内存中占用的字节数为。 2、C语言中的标识符只能由字母、下划线和组成。

c语言考试题

fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是()。 A、读或读写 B、追加 C、只写 D、答案B和C都正确 【参考答案】错误 A 【学生答案】 、 D 使用共用体变量,不可以()。 A、同时访问所有成员 B、进行动态管理 C、节省存储空间 D、简化程序设计 【参考答案】正确 A 【学生答案】 % A 设有如下定义:struct sk {int a; float b;} data,*p; 若要使p指向data中的a域,正确的赋值语句是()。 A、p=(struct sk*) ; B、*p=; C、p=&; D、p=&data,a; 【参考答案】错误 C \ 【学生答案】 B 以下程序段执行后输出的结果是( ). char str[ ]="ABCD",*p=str; printf("%d\n",*(p+4)); A、字符'D'的地址 B、0 C、不确定的值 D、68 【参考答案】错误 ^

B 【学生答案】 D 已定义char a[10];和char *p=a;,下面的赋值语句中正确的是( ). A、p="Turbo c"; B、a="Turbo c"; C、*p="Turbo c"; > D、a[10]="Turbo c"; 【参考答案】错误 A 【学生答案】 C 设有如下程序,请选择正确答案( )。 #include <> main() {int **k,*j,i=100; 》 j=&i, k=&j; printf("%d\n",**k); } A、运行错误 B、100 C、i的地址 D、j的地址 【参考答案】正确 B / 【学生答案】 B 以下叙述正确的是()。 A、可以把if定义为用户标识符,但不能把define定义为用户标识符 B、define和if都不能定义为用户标识符 C、可以把define定义为用户标识符,但不能把if定义为用户标识符 D、可以把define和if定义为用户标识符 【参考答案】正确 C ?

C语言考试题库及答案精编

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)); 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__. 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

#include void main() {int a;

C语言考试题库之填空题

二,填空题(10道小题,共20分) 1、一个C源程序中至少应包含一个[main]函数。 2、a是整型变量,则执行表达式a=25/3%3后a的值为。[2] 3、int m=5,y=2;则表达式y+=y- =m*=y的值为。[-16] 4、执行下列语句: int a=1, b=2; a=a+b; b=a-b; a=a-b; printf("%d , %d \n", a,b );的输出结果分别是[2,1] 5、条件表达式的格式为表达式1?表达式2:表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较[高]的类型 6、当运行以下程序时,从键盘键入right?(代表回车),则下面程序的运行结果是。#include main( ) { char c; while((c=getchar())!='?') putchar(++c) } [sjhiu?] 7、C语言中的数组必须先[定义],然后使用。 8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return】语句。 9、已知:float f1=3.2,f2,*pf1=&f1;f2=f1,则*f2的值为。[3.2] 10、以下程序 void fun(char *a, char *b) { a=b; (*a)++; } main () { char c1="A", c2="a", *p1, *p2; p1=&c1; p2=&c2; fun(p1,p2); printf(“&c&c\n”,c1,c2); } 运行后的输出结果是。[&c&c] 11、字符串常量“123”在内存中的字节数是。[4字节] 12、已有定义:int x=3 ;则表达式:x=x+1.78 的值是。【4】 13、int a=24; printf("%o ", a );输出结果是。【30】 14、当a=3,b=2,c=1时,表达式f=a>b>c的值是。【0】 15、下面程序的运行结果是。【x=1,y=20】 #include main() { int i,x,y; i=x=y=0; do {++i; if(i%2!=0) {x=x+i;i++;}

C语言考试试题

C语言程序设计_复习题 第一部分(填空题): 1.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。 A.大写字母 B.连接符 C.数字字符 D.下划线 答案:B 2.下面关于计算机正确的是( )。 A.计算机由硬件系统和软件系统两部分构成 B.只要有硬件系统,计算机就能工作 C.计算机只能处理文本信息 D.计算机只能处理计算问题 答案:A 3.( )是c语言提供的合法的数据类型关键字。 A.Int B.long C.Char D.integer 答案:B 4.面向过程的高级语言包括( )。 A.C,JAVA B.C,BASIC C.C++.NET,ASP D.C,VB 答案:B 5.软件按功能可以分为: 应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。 A.编译程序 B. 操作系统 C.教务管理系统 D.汇编程序 答案:C 6.以下选项中关于C语言常量的叙述错误的是()。 A.所谓常量,是指在程序运行过程中,其值不能被改变的量

B.常量分为整型常量、实型常量、字符常量和字符串常量 C.常量可分为数值型常量和非数值型常量 D.经常被使用的变量可以定义成常量 答案:D 7.下面描述中正确的是()。 A.C语言提供了专门的输入/输出语句 B.C语言调用输入/输出函数时需要使用include命令包含头文件 C.C语言可以直接使用输入/输出函数 D.输入/输出函数所在的头文件是stdlib.h 答案:B 8.假设有char型变量c1,c2,执行下面程序段: c1=gatchar(); c2=gatchar(); printf(“c1=%c,c2=%c\n”,c1,c2); 如果c1和c2的值分别为字符a和b,则从键盘正确的输入方式是()。 A.ab<回车> B.a<回车>b<回车> B.C.a<空格>b<回车> D.ab<回车> 答案:A 9.下面描述中正确的是()。 A.printf()函数的输出列表项只允许是变量 B.printf()函数的输出列表项可以是常量、变量以及表达式 C.printf()函数输出列表项也可以是另一个printf()函数 D.printf()函数的输出列表项之间用空格分隔 答案:B 10.假设有:int a,b; scanf("%d,%d",&a,&b);

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