文档库 最新最全的文档下载
当前位置:文档库 › c语言程序设计练习3

c语言程序设计练习3

c语言程序设计练习3
c语言程序设计练习3

在一个C程序中(B)。

A、main函数必须出现在固定位置

B、main函数可以在任何地方出现

C、main函数必须出现在所有函数之前

D、main函数必须出现在所有函数之后

若有int a[][]={{1,2},{3,4}}; 则*(a+1),*(*a+1)的含义分别为(C)。

A、&a[0][1],3

B、非法,2

C、&a[1][0],2

D、a[0][0],4

fseek函数的正确调用形式是(D)。

A、fseek(起始点,位移量,文件类型指针)

B、fseek(位移量,起始点,fp)

C、fseek(文件类型指针,起始点,位移量)

D、fseek(fp,位移量,起始点)

C语言程序中,当调用函数时(B)。

A、实参和虚参可以共用存储单元

B、实参和虚参各占一个独立的存储单元

C、计算机系统自动确定是否共用存储单元

D、可以由用户指定是否共用存储单元

以下标识符中,不能作为合法的C用户定义标识符的是(C)。

A、to

B、answer

C、define

D、_if

char *s1="hello",*s2;s2=s1;则(D)。

A、s2指向不确定的内存单元

B、s1不能再指向其它单元

C、不能访问"hello"

D、puts(s1);与puts(s2);结果相同

有如下程序

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

}

该程序的输出结果是 B

A、a=1,b=1

B、a=2,b=1

C、a=1,b=0

D、a=2,b=2

下列正确的标识符是 D

A、%y

B、a+b

C、6a

D、_do

若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是(B)。

A、"ab"

B、"wb+"

C、"ab++"

D、"rb+"

int a[10];合法的数组元素的最小下标值为(B)。

A、1

B、0

C、9

D、10

以下程序的输出结果是 C

main()

{ int a = 2, b =5;

printf(“a=%%d,b=%%d\n”,a, b);

}

A、a=%2,b=%5

B、a=%%d,b=%%d

C、a=%d,b=%d

D、a=2,b=5

若有说明:int a[3][4];则数组a中各元素(B)。

A、不能得到确定的初值

B、可在程序的编译或运行阶段得到初值0

C、可在程序的运行阶段得到初值0

D、可在程序的编译阶段得到初值0

宏定义#define PI 3.14中的宏名PI代替 C

A、不确定类型的数

B、一个单精度实数

C、一个字符串

D、一个双精度实数

以下程序运行后的输出结果是 C 。

struct STU

{ char name[10]; int num; };

void f1(struct STU c)

{struct STU b = {“LiSiGuo”, 2042};

c = b;

}

void f2(struct STU *c)

{ struct STU b = {“SunDan”, 2044};

*c = b;

}

main()

{ struct STU a = {“Y angSan”, 2041}, b = {“WangYin”, 2043};

f1(a); f2(&b);

printf(“%d %d\n”, a.num, b.num);

}

A、2041 2043

B、2042 2044

C、2041 2044

D、2042 2043

以下语法中正确的是 B

A、C语言程序中的main函数必须放在程序的开始部分

B、C语言程序总是从main开始执行

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

D、C语言程序总是从第一个定义的函数开始执行

若有j的值为-1,则执行下列语句后的输出为(D)。

if(j<=1) printf("****\n");

else printf("%%%%\n");

A、%%%%c

B、%%%%

C、有错,执行不正确

D、****

以下程序的输出结果是 C

main()

{ char c1 = …A?, c2 = …Y?;

printf(“%d,%d\n”, c1, c2);

}

A、65,90

B、A,Y

C、65,89

D、因输出格式不合法,无正确输出

若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句是B

A、a=a+b, b=a-b, a=a-b;

B、a=t; t=b; b=a;

C、t=a; a=b; b=t;

D、t=b; b=a; a=t;

C语言中要求对变量作强制定义的主要理由是(B)。

A、便于编辑预处理程序的处理

B、便于确定类型和分配空间

C、便于移植

D、便于写文件

设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为(D)。

A、0--255

B、0--32767

C、0--2147483647

D、0—65535

若变量已正确定义,执行语句scanf("%d,%d,%d ",&k1,&k2,&k3);时,_D__是正确的输入

A、20 30 40

B、2030,40

C、20, 30 40

D、20,30,40

当定义一个结构体变量时,系统分配给它的内存是(D)。

A、结构中最后一个成员所需内存量

B、结构中第一个成员所需内存量

C、成员中占内存量最大者所需的容量

D、各成员所需内存量的总和

已定义ch为字符型变量,以下赋值语句中错误的是(C)。

A、ch='\xaa';

B、ch=NULL;

C、ch='\';

D、ch=62+3;

以下程序的输出结果是 A

func(int a, int b)

{ int c;

c = a + b;

return c;

}

main()

{ int x = 6, y = 7, z = 8, r;

r = func((x--, y++, x + y), z--);

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

}

A、21

B、11

C、31

D、20

若二维数组a有m列,则在a[i][j]前的元素个数为(B)。

A、j*m+i

B、i*m+j

C、i*m+j+1

D、i*m+j-1

以下read函数的调用形式中,参数类型正确的是(D)。

A、read(int fd,int count,char *buf)

B、read(int count,char *buf,int fd)

C、read(int *buf,int fd,int count)

D、read(int fd,char *buf,int count)

设有如下定义:

char *aa[2] = { “abcd”, “ABCD“};

则以下说法中正确的是 A

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

B、aa数组元素的值分别是”abcd”和ABCD”

C、aa数组的两个元素中各自存放了字符?a?和?A?的地址

D、aa数组的两个元素分别存放的是含有四个字符的一维数组的首地址

函数调用语句:fseek(fp,-20L,2);的含义是(C)。

A、将文件位置指针移到距离文件头20个字节处

B、将文件位置指针从当前位置向后移动20个字节

C、将文件位置指针从文件末尾处退后20个字节

D、将文件位置指针移到离当前位置20个字节处

下面判断正确的是(D)。

A、char *a="china";等价于 char *a;*a="china";

B、char str[10]={"china"};等价于char str[10];str[]={"china"};

C、char c[4]="abc",d[4]="abc";等价于 char c[4]=d[4]="abc";

D、char *s="china";等价于 char *s;s="china";

全局变量的定义不可能在(A)。

A、函数内部

B、文件外面

C、最后一行

D、函数外面

语句scanf("%7.2f",&a);是一个合法的scanf函数。错

循环结构中的continue语句是使整个循环终止执行错

char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。错

若有定义int c;则while(c=getchar());是正确的C语句。对

结构体类型只有一种。错

如果有一个字符串,其中第十个字符为'\n',则此字符串的

有效字符为9个。错

循环结构中的continue语句是使整个循环终止执行。错

静态存储变量不随其所在函数的调用结束而被释放,其值会保留作为下一次调用的初值. 对

进行宏定义时,宏名必须使用大写字母表示。错

若有定义和语句:

int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0;

for(i=0;i<3;i++) sum+=a[i][2-i];则sum=21. 对

【程序设计】

--------------------------------------------------

功能:编写程序, 求矩阵(3行3列)与2的乘积

例如:输入下面的矩阵:

100 200 300

400 500 600

700 800 900

程序输出:

200 400 600

800 1000 1200

1400 1600 1800

------------------------------------------------*/

#include "stdio.h"

int fun(int array[3][3])

{

/**********Begin**********/

/********** End **********/

}

main()

{

int i,j;

int array[3][3]={{100,200,300}, {400,500,600},

{700,800,900}};

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

{

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

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

printf("\n");

}

fun(array);

printf("Converted array:\n"); for (i=0; i < 3; i++)

{

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

printf("%7d",array[i][j]); printf("\n");

}

NONO();

}

NONO()

{

int i,j, array[3][3];

FILE *rf, *wf ;

rf = fopen("in.dat", "r") ;

wf = fopen("out.dat", "w") ;

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

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

fscanf(rf, "%d", &array[i][j]);

fun(array);

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

{

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

fprintf(wf, "%7d", array[i][j]);

fprintf(wf, "\n");

}

fclose(rf) ;

fclose(wf) ;

}

【参考代码】

int i,j;

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

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

array[i][j]=array[i][j]*2;

【程序设计】

--------------------------------------------------

功能:fun函数的功能是,判断一个整数w的各位数字平方之和能否被

5整除,

可以被5整除则返回1,否则返回0。

------------------------------------------------*/

#include "stdio.h"

#include"conio.h"

int fun(int w)

{

/**********Begin**********/

/********** End **********/

}

void TestFunc();

main()

{

int m;

printf("Enter m: ");

scanf("%d", &m);

printf("\nThe result is %d\n", fun(m)); TestFunc();

}

void TestFunc()

{

FILE *IN,*OUT;

int c ;

int t;

int o;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Read File Error");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("Write File Error"); } for(c=1;c<=5;c++)

{

fscanf(IN,"%d",&t);

o=fun(t);

fprintf(OUT,"%d\n",o);

}

fclose(IN);

fclose(OUT);

}

【参考代码】

int k,s=0;

do

{s=s+(w%10)*(w%10);

w=w/10;

}while(w!=0);

if(s%5==0)k=1;

else k=0;

return(k);

【程序改错】

--------------------------------------------------------

功能:写计算级数 ex=1+x+x2/2!+x3/3!+ ...+xn/n! 的值。

------------------------------------------------------*/

#include"stdio.h"

main()

{

int m,n;

float x,term,ex1,ex2;

printf("x,m=");

scanf("%f %d",&x,&m);

/**********ERROR**********/

ex1==ex2=1;

term=1;

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

{

/**********ERROR**********/

term*=x%n;

ex1+=term;

}

ex2=term;

/**********ERROR**********/

for (n=m;n>1; n--)

{

term*=n/x;

ex2+=term;

}

printf("exforward=%f exbackrard=%f\n",ex1,ex2);

}

【参考答案】

ex1=ex2=1;

【参考答案】

term*=x/n;

【参考答案】

for (n=m;n>=1; n--)

【程序改错】

-------------------------------------------------------- 功能:分别统计字符串中大写字母和小写字母的个数。

例如:给字符串 s 输入:AAaaBBb123CCccccd,

则应输出结果:upper = 6, lower = 8。

------------------------------------------------------*/

#include

#include

/**********ERROR**********/

void fun ( char *s, int a, int b )

{

while ( *s )

{

if ( *s >= 'A' && *s <= 'Z' )

/**********ERROR**********/

a++ ;

if ( *s >= 'a' && *s <= 'z' )

/**********ERROR**********/

b++;

s++;

}

}

C语言程序设计试题及答案

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是(B) A、abc B、12AC C、sun D、A 3、设有语句inta=4;则执行了语句a+=a-=a*a后,变量a的值是(A) A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是(B) A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是(A) A、% B、/ C、%和/ D、+ 6、以下关于运算符的优先顺序的描述正确的是(C) A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C) sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)

A、INPUTx、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456<回车>,下面程序的输出结果是:(C)voidmain() {intm,n; scanf(“%2d%3d”,&m,&n); printf(“m=%dn=%d\n”,m,n); } A、m=23n=45 B、m=234n=56 C、m=23n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是(A)main() {intx,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、0B、22C、12D、10 11、C语言中while和do-while循环的主要区别(A) A、do-while的循环体至少执行一次 B、while的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内 D、do-while的循环体不能是复合语句 12、以下对二维数组的正确说明的语句是(C) A、inta[3][] B、floata(3,4) C、doublea[3][4] D、floata(3)(4) 13、以下程序的输出结果是(C) main()

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语言程序设计教程第一章练习题题目

单选题 1、下列语言中不属于计算机语言的三大类的是(C)。 A.机器语言 B.汇编语言 C.脚本语言 D.高级语言 2、下列说法中不正确的是(C) A.计算机语言大致可分为三大类,即机器语言、汇编语言和高级语言 B.C语言是一种通用的、过程式的编程语言,具有高效、灵活、可移植等优点 C.C语言属于汇编语言 D.高级语言比汇编语言更贴近于人类使用的语言,易于理解、记忆和使用 3、以下开发工具中不属于主流的开发工具的是(B) A.Visual Studio B.Xcode C.Code::Block D.Eclipse 4、下列选项是对主流开发工具的介绍,其中错误的是(B) A.Visual Studio支持C/C++、C#、F#、VB等多种程序语言的开发和测试 B.Code::Block是一个免费的跨平台IDE,支持C、C++和Fortan程序的开发 C.Eclipse是一种被广泛使用的免费跨平台IDE,最初由IBM公司开发 D.Vim是一款功能非常强大的IDE ( 和其他IDE不同的是,Vim本身并不是一个用于开发计算机程序的IDE,而是一款功能非常强大的文本编辑器,它是UNIX系统上Vi编辑器的升级版。) 5、下列选项中,不属于开发一个C语言应用程序的具体实现步骤的是(A) A.启动开发工具 B.添加源文件 C.编写代码 D.运行程序 6、下列选项中,关于main()函数叙述不正确的是(C) A.一个完整的C语言程序中,有且只能有一个main()函数 B.main()函数是程序的主入口,程序总是从main()函数开始执行 C.如果没有声明main()函数,程序将从第1行开始执行 D.main()函数可以有返回值,也可以没有返回值 7、下面程序中,合法的选项是(D) A.#includeint main() { printf("hello world\n"); return 0; } B.#includeint man() { printf("hello world\n"); return 0; } C.#includeint main() { printf("hello world\n") return 0; } D.#includeint main() { print("hello world\n"); return 0; } 8、下面程序中,运行结果为“1,2”的是(A) A.#includeint main() { int a = 1; int b = 2; printf("%d %d\n",a,b); return 0; } B.#includeint main() { int a = 1; int b = 2; printf("%d,"a); printf("%d\n",b); return 0; } C.#includeint main() { int a = 1, b = 2; printf("%d,,%d\n",a,b); return 0; }

C语言程序设计试题1

C语言程序设计试题1 一、单项选择题 1.C语言规定,在一个源程序中main函数的位置______d___ 。 A.必须在最开始B.必须在最后 C.必须在预处理命令的后面D.可以在其他函数之前或之后 2.以下选项中,_________d__ 是C语言关键字 A.printf B.include C.fun D.default 3.已知有声明"int a=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为____a_ 。 A.0 B.3 C.3.5 D.4 4.设指针变量占4个字节的内存空间,若有声明"char *p="123";int c;",则执行语句 "c=sizeof(p);"后,c的值为__d__ A.1 B.2 C.3 D.4 5.已知有声明"int a=3,b=4;",下列表达式中合法的是_d___。 A.a+b=7 B.a=|b| C.a=b=0 D.(a++)++ 6.已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是___d_。 A.s="Good"; B.s[20l="Good"; C.strcat(s,"Good"); D.strcpy(s,"Good"); 7.已知有声明"int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};",若需要引用值为12的数组元素,则下列选项中错误的是_a___ 。 A.*(a+2)+3 B.*(*(a+2)+3) C.*(a[2]+3) D.a[2][3] 8.已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为_b___ 。 A.3 B.3.0 C.3.89 D.4.0 9.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为 __b__。 A.3,1 B.15,12 C.15,1 D.3,12 10.下面的函数定义正确的是_____d________ A)float fun (float x ; float y) {return x*y;} B)float fun (float x,y) {return x*y;} C)float fun (x,y) {int x,y;return x*y;} D)int fun (int x, int y) {return x*y;} 11.某程序需要使用一个代表常数3.14的符号常量名P,以下定义中正确的是_d___。 A.#define P 3.14; B.#define P(3.14) C.#define P=3.14; D.#define P 3.14 12.下列四个选项中,属于C语言关键字的是__c__ 。 A.Float B.single C.double D.real 13.已知某编译系统中signed int类型数据的长度是16位,该类型数据的最大值是_D___。 A.32767 B.32768 C.127 D.65535

C语言程序设计试题集

第一章基础知识 一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

c语言程序设计试题答案

习题7 7.1选择题。 (1)下列对字符串的定义中,错误的是: A 。 A) char str[7] = "FORTRAN"; B) char str[] = "FORTRAN"; C) char *str = "FORTRAN"; D) char str[] = {'F','O','R','T','R','A','N',0}; (2)以下程序段的输出结果是:____D_________ char a[] = "ABCDE" ; char *p = NULL; for (p=a; p main() { static char a[5]; a = "abcde" ; printf("%s\n", a); }

B) #include <> main() { static char a[7]= "goodbye!"; printf("%s\n", a) ; } C) #include <> main() { char a[5] = "abcde"; printf("%s\n", a) ; } D) #include <> main() { static char a[]="abcde"; printf("%s\n", a) ; } (4)阅读下列函数,函数功能为___A_____。 void Exchange(int *p1, int *p2) { int p; p = *p1; *p1 = *p2; *p2 = p; } A)交换*p1和*p2的值B)正确,但无法改变*p1和*p2的值 C)交换*p1和*p2的地址 D)可能造成系统故障

C语言程序设计习题集(3)

指针 一单项选择题(每题2分,共40分) 1 以下叙述中错误的是_B__。 A 在程序中凡是以“#”开始的语句行都是预处理命令行 B 预处理命令行的最后不能以分号表示结束 C #define MAX是合法的宏定义命令行 D C程序对预处理命令行的处理是在程序执行的过程中进行的 2 若程序中有宏定义行:#define N 100 ,则以下叙述中正确的是__B_。 A 宏定义行中定义了标识符N的值为整数100 B 在编译程序对C源程序进行预处理时用100替换标识符N C 对C源程序进行编译时用100替换标识符N D 在运行时用100替换标识符 3 若有如下宏定义: #define N 2 #define y(n) ((N+1)*n) 则执行下列语句:z=4*(N+y(5));后的结果是_B__。 A 语句有错误 B z值为68 C z值为60 D z值为180 4 以下程序运行后的输出结果是_A__。 #define F(X,Y) (X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } A 12 B 15 C 16 D 20 5 以下程序运行后的输出结果是_C__。 #define f(x) (x*x) main() { int i1,i2; i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf("%d,%d\n",i1,i2); } A 64,28 B 4,4 C 4,3 D 64,64 6 若已定义a为int型变量,则__D_是对指针变量p的正确说明和初始化。 A int p=&a; B int *p=a; C int *p=*a; D int *p=&a; 7 已知下列说明语句: static int a[]={2,4,6,8} static int *p[]={a,a+1,a+2,a+3}; int **q; q=p; 则表达式**(q+2)的值是_A__。 A 6 B 2 C 4 D 8 8 下面是一个初始化指针的语句:int *px=&a;,其中指针变量的名字应该__C_。 A *px B a C px D &a 9 若指针px为空指针,则_B__。。

C语言程序设计期末练习填空题.docx

面向对象程序设计期末综合练习二(填空题) 填空题 1.C++ 语言是在 _________语言的基础上发展起来的。 2.C++ 语言的编译单位是扩展名为 __________的 __________文件。 3.行尾使用注释的开始标记符为 __________ 。 4.多行注释的开始标记符和结束标记符分别为__________ 和 __________。 5.用于输出表达式值的标准输出流对象是_________。 6.用于从键盘上为变量输入值的标准输入流对象是________。 7.一个完整程序中必须有一个名为 ________的函数。 8.一个函数的函数体就是一条 _________语句。 9.当执行 cin 语句时,从键盘上输入每个数据后必须接着输入一个________符,然后才能继续输入下一个数据。 10.在 C++程序中包含一个头文件或程序文件的预编译命令为__________。 11.程序中的预处理命令是指以______字符开头的命令。 12.一条表达式语句必须以 ______ 作为结束符。 13.在#include 命令中所包含的头文件,可以是系统定义的头文件,也可以是 ________定义的头文件。 14.使用 #include 命令可以包含一个头文件,也可以包含一个______文件。 15.一个函数定义由 ________和 ________两部分组成。 16.若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的______语句。 17. C++头文件和源程序文件的扩展名分别为______和 ______。 18.程序文件的编译错误分为 ________和 ________两类。 19.当使用 _______保留字作为函数类型时,该函数不返回任何值。 20.当函数参数表用 ______保留字表示时,则表示该参数表为空。 21 .从一条函数原型语句“int fun1(void);”可知,该函数的返回类型为______,该函数带有______ 个参数。 22.当执行 cout 语句输出 endl 数据项时,将使 C++显示输出屏幕上的光标从当前位置移动到 ________的开始位置。 23.假定 x=5,y=6,则表达式 x++*++y 的值为 __________ 。 24.假定 x=5,y=6,则表达式x--*--y的值为__________。 25.假定 x=5,y=6,则执行表达式 y*=x++ 计算后, x 和 y 的值分别为 __________和 __________ 。 26.假定 x=5,y=6,则执行表达式 y+=x-- 计算后, x 和 y 的值分别为 __________和 __________ 。 27.C++ 常数 0x145 对应的十进制值为 __________。 28.C++ 常数 0345 对应的十进制值为 __________ 。 29.十进制常数 245 对应的十六进制的 C++表示为 __________。 30.十进制常数 245 对应的八进制的 C++表示为 __________ 。 31.signed char类型的值域范围是________至__________之间的整数。 32.int和float类型的数据分别占用_________和__________个字节。 33.float和double类型的数据分别占用_________和________个字节。 34.bool和char类型的数据分别占用_________和________个字节。 35.unsigned short int和int类型的长度分别为_________和________。

《C语言程序设计》综合练习题与答案

《C语言程序设计》综合练习题与答案 一、简要问答下列问题 1.什么是源程序? 2.C语言源程序的编译过程是怎样的? 3.简述C语言的特点 4.C/C++程序都是由函数组成的,其中最主要的、不可缺少的函数是哪一个?举例说明该函数的结构。 5.函数的返回值是通过什么语句来实现的,它的格式是什么? 6.在编写C程序时,为什么要把库函数的头文件包含到用户源程序中?如何把用户的头文件包含到用户源程序? 7.在计算机中,存储的数据为什么要分成多种不同的数据类型? 8.什么是常量?什么是变量? 9.C语言的五种基本数据类型有哪些?它们的关键字和所占的字节数分别是什么? 10.判断标识符是否合法的三条规则是什么? 11.什么是C语言的关键字?关键字对标示符有何影响? 12.全局变量和局部变量有什么区别? 13.什么是空语句,什么是语句块? 14.结构化程序设计的三种基本结构是什么? 15.三种循环语句各有什么特点? 16.什么叫多重循环结构? 17.Continue语句与break语句有什么区别? 18.字符与字符串有什么区别?‘b’与“b”相同吗? 19.什么是数组?一维数组的定义形式是怎样的? 20.字符串的结束标记是什么? 21.什么是按位操作?C语言对按位操作有哪些要求? 22.什么是指针?指针的两个操作符表示什么意义? 23.指针和数组有什么关系? 24.指针有那几种算术运算?说明指针变量的算术运算与一般变量的算术运算有何区别? 25.函数是由哪三部分组成的?函数定义的一般形式是什么? 26.函数原型是什么情况下使用?有什么作用? 27.形参和实参有什么关系,函数的两种调用方式是什么? 28.什么是函数的递归调用? 29.什么是函数指针?说明定义函数指针的一般形式。 30.什么是内部函数?什么是外部函数? 31.C语言的四种用户定义数据类型是什么? 32.C系统提供的三种主要预处理功能是什么? 33.什么是文件包含? 34.什么是文件?什么是流?

c语言程序设计期末试题B(含答案)

c语言程序设计期末试题B(含答案) 一单项选择题(每小题1分,共10分) 1. A 2. C 3. D 4. A 5. B 1.以下4组用户定义标识符中,全部合法的一组是() A)_total clu_1 sum B)if -max turb C)txt REAL 3COM D)int k_2 _001 2.以下程序的输出结果是() #include main( ) { int a = 1, b = 2, c = 3; printf(“%d”, c>b>a); } A) 2 B) 1 C) 0 D) 3 3.以下正确的叙述是() A) 在C语言中,main函数必须位于文件的开头 B) C语言每行中只能写一条语句 C) C语言本身没有输入、输出语句 D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误 4.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是() A)scanf("%d",pa); B)scanf("%d",a); C)scanf("%d",&pa); D)scanf("%d",*pa); 5.若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是() A) 0 B) 0.5 C) 1 D) 2 6. D 7. D 8. A 9. C 10. D 6.能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是() A) a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 &&a<=0 D)a>=10‖a<=0 7.执行下面的程序时,将1、2、3、4分别赋给a、b、c、d,正确的输入是() main( ) { int a,b,c,d; scanf(“%d,%d,%d%d”,&a,&b,&c,&d); … } A)1 2 3 4 B)1 2 3,4 C) 1,2,3,4 D) 1,2,3 4

大学计算机C语言程序设计(填空题)

一、填空共219题 第1题题号:422 设有以下结构类型说明和变量定义,则变量a在内存所占字节数是【1】 . Struct stud { char num[6]; int s[4]; double ave; } a,*p; 答案: 1). 22 第2题题号:533 设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】. for (x=0,y=0;y!=123&&x<3;x++) scanf ("%d",&y); 答案: 1). 3 第3题题号:496 静态变量和外部变量的初始化是在【1】阶段完成的,而自动变量的赋值是 在【2】时进行的. 答案: 1). 编译 2). 函数调用 第4题题号:96 已知a=13,b=6, a&b的十进制数值为【1】. 答案: 1). 4 第5题题号:398

程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次. 答案: 1). 0 第6题题号:651 设w=5;w+= -2;则w的值为【1】. 答案: 1). 3 第7题题号:258 下面程序段的输出结果是【1】. int a=12; a=a&0377;pritnf("%d\n",a); 答案: 1). 12 第8题题号:457 设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2 后,t的值是【1】. 答案: 1). 1 第9题题号:402 设a取二进制数00101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的 二进制数是【1】. 答案: 1). 11110000 第10题题号:311 若所用变量均已正确定义,则执行下面程序段后的值是【1】. for(i=0 ; i<2 ; i++ ) printf("YES"); printf("\n"); 答案: 1). YESYES

C语言程序设计练习题(含程序及参考答案)21182

C语言练习题 (所提供的源程序均采用自定义函数方式解决,如不采用函数方式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能一一验证,仅供参 考使用) 1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。 #include int fun(int a,int b,int c) { if(a+b>c && b+c>a && a+c>b) { if(a==b && b==c ) return 3; else if(a==b||b==c||a==c) return 2; else return 1; } else return 0; } void main() { int a,b,c,shape; printf("\nInput a,b,c: "); scanf("%d%d%d",&a,&b,&c); printf("\na=%d, b=%d, c=%d\n",a,b,c); shape =fun(a,b,c); printf("\n\nThe shape : %d\n",shape); }

2、编写一个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运行后 a 中的值为8,b中的值为3。 #include void fun(int *x,int *y) { int t; t=*x;*x=*y;*y=t } void main() { int a=3,b=8; printf("%d %d\n",a,b); fun(&a,b); printf("%d %d\n",a,b); }

C语言程序设计期末考试试题及答案知识分享

C语言程序设计试题 (2008 /2009 学年第二学期) 一.选择题(满分30分,每题2分) 1.若a、b、c都定义为int类型且初值为0,则以下不正确的赋值语句是 D 。 A. a=b=c+8; B. a+=y+3; C. c++; D. a+b+c 2. 已知int j,i=1;执行语句“j=i++;”后,变量i的值是 B 。 A. 1 B. 2 C. –1 D. -2 3.执行下面程序: #include "stdio.h" void main() { int a=1,b=2,c=3; c=(a+=a+2),(a=b,b+3); printf(“%d,%d,%d”,a,b,c); } 则输出结果是: A 。 A. 2,2,4 B. 4,2,3 C. 5,5,3 D. 4,2,5 4.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 D 。 A. a< >0 B. !a C. a=0 D. a 5. for (j=0;j<11;j++);循环结束后,j的值是 B 。 A. 12 B. 11 C. 10 D. 9 6. C语言中函数返回值的类型由 D 决定的。 A. return语句中的表达式类型 B. 调用该函数的主调函数的类型 C. 调用函数时临时决定 D. 定义函数时所指定的函数类型 7. 下列说法中正确的是 B 。 A 在调用用户自定义函数时,必须对其进行声明。 B 函数可以返回一个值,也可以什么值也不返回。 C 说明函数时,必须明确参数的类型和返回值。 D 在程序设计中空函数没有什么作用。8. 若int i=10;执行下列程序后,变量i的正确结果是 D 。 switch ( i ) {case 0: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; } A. 10 B. 11 C. 12 D. 13 9. 下列语句中不正确的字符串赋值或初始化的是 C 。 A. char str[10]={"strings"}; B.char str[8]={'s','t','r','i','n ','g','s','\0'}; C. char str[10]; str= "strings"; D. char str[]= "strings"; 10. 有如下程序: #include void main() { int a=1,b=0,c=0; if (a

C语言程序设计期末考试试卷

一、单项选择题(本大题共20题,每题2分,共40分) 1、以下不是C语言的特点的是 A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是 A、ABC B、abc C、a_bc D、ab.c3、一个C语言程序是由。 A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是 A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为

A、int B、float C、double D、不确定6、在C语言中,char型数据在内存中的存储形式是。 A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、3458、若有以下定义int a,b; float x,则正确的赋值语句 是。 A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是。 #include { int i=10,j=10;

printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果 是。 #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,8911、下列运算符中优先级最高的是。 A、< B、十 C、% D、!=12、设x、y和z是int型变量,且x=3,y=4,z =5,则下面表达式中值为0的是。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z||1) 13、判断char型变量cl是否为小写字母的正确表达式 为。 A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1)(‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为。

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

C语言程序设计的试题及答案

C语言程序设计的试题及答案 C语言程序设计的试题及答案C语言程序设计的试题及答案第一章基础知识 一、填空 1.每个C程序都必须有且仅有一个________函数。 2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3.软件是程序,以及______、使用和维护所需要的所有文档。 4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6.C语言是由________组成的。 7.C语言的函数可分为主函数ain、标准库函数和_________。 8.一个函数是由两部分组成的,即:________和函数体。 9.编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自

动化、管理信息系统、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11.机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12.与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。 13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14.C程序的执行均是由执行_________开始。15.函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C语句组成的执行部分。 16.C语言程序中一条简单语句是以________字符作为结束符的。 17.C语言是结构化、________的程序设计语言。 18.由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19.用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.第一个系统体现结构化程序设计思想的教学工具语言是_______语言。

相关文档
相关文档 最新文档