函数的实参可以是常量,变量或表达式

函数的实参可以是常量,变量或表达式函数的实参可以是常量、变量、或表达式,实参和对应的形参必须类型相同或兼容。

实参:全称为"实际参数",是在调用时传递给函数的参数。实参可以是常量、变量、表达式、函数等。

无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值。

形参全称为"形式参数",由于它不是实际存在变量,所以又称虚拟变量。是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数。

在调用函数时,实参将赋值给形参。因而,必须注意实参的个数,类型应与形参一一对应,并且实参必须要有确定的值。

形参是函数被调用时用于接收实参值的变量。根据实际需要可有可无,如果没有形参时,圆括号也不能省;多个参数之间用逗号分隔。参数包括参数名和参数类型。

形参与实参区别:

形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用

实参出现在主调函数中,进入被调函数后,实参变量也不能使用。

形参和实参的功能是作数据传送。发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数

C语言期末考试复习题及答案3

C语言期末考试复习题及答案 一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个 是正确的,请将正确的选项涂写在答案纸上。答在试卷上不得分。 (1)C语言规定:在一个源程序中,main函数的位置。 A)必须在最后B)必须在系统调用的库函数的后面。 C)必须在最开始。。D)可以任意 (2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。 A)必须为字母或下划线。。B)必须为下划线。 C)必须为字母D)可以是字母、数字和下划线中的任一种字符。 (3)下面四个选项中,均是正确的八进制数或十六进制数的选项 是。 A)-10 0x8f -011 B) 010 -0x11 0xf1 C) 0abc -017 0xc D) 0a12 -0x123 -0xa (4) C语言中int型数据在内存中占两个字节,则unsegned int取值范围是。 A)0 ~ 65535 B)0 ~ 32767 C)-32767 ~ 32768 D)-32768 ~ 327687 (5) 若有定义:int a = 7; floa x = 2.5 , y = 4.7 ; 则表达式x + a % 3 *(int) (x + y)% 2/4 的值是。 A) 2.750000 B) 0.00000 C) 3.500000 D) 2.500000 (6)已知ch是字符型变量,下面不正确的赋值语句是。

A)ch = 5 + 9 ; B) ch= ' a + b '; C) ch = ' \ 0 '; D) ch= '7' + '6' ; (7) 设x , y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的 是。 A)!((x < y )&&!z || 1) B) ' x ' && ' y ' C) x || y+z && y - z D)x <= y (8)设有程序段 int k = 10 ; while ( k = 0 ) k = k - 1 ; 以下描述正确的是。 A) 循环体语句一次也不执行。B) 循环是无限循环。 C) while 循环语句执行十次。D) 循环体语句执行一次。 (9) 以下C程序正确的运行结果是。 main ( ) {long y = 23456; printf ( " y = % 3x \ n ", y); printf ( " y = % 8x \ n ", y); printf ( " y = % # 8x \ n ", y); } A) y = 5ba0 B)y = 5ba0 C ) y = 5ba0 D)y = 5ba0 y = 5ba0 y = 5ba0 y = bba0 y = 5ba0

C++复习题库

10.在参数传递过程中,对形参和实参的要求是()。 A.函数定义时,形参一直占用存储空间 B.实参可以是常量、变量或表达式 C.形参可以是常量、变量或表达式 D.形参和实参类型和个数都可以不同 11.对数组名作函数的参数,下面描述正确的是()。 A.数组名作函数的参数,调用时将实参数组复制给形参数组 B.数组名作函数的参数,主调函数和被调函数共用一段存储单元 C.数组名作参数时,形参定义的数组长度不能省略 D.数组名作参数,不能改变主调函数中的数据 B.静态数据成员不可以在类体内进行初始化 C++语言程序设计 一、选择题 (2)C++语言的跳转语句中,对于break和continue说法正确的是() A)break语句只应用与循环体中 B)continue语句只应用与循环体中 C)break是无条件跳转语句,continue不是 D)break和continue的跳转范围不够明确,容易产生问题 (7)下面描述中,表达错误的是() A)公有继承时基类中的public成员在派生类中仍是public的 B)公有继承是基类中的private成员在派生类中仍是private的 C)公有继承时基类中的protected成员在派生类中仍是protected的 D)私有继承时基类中的public成员在派生类中是private的 (10)在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是() A)fail B)eof C)bad D)good 一:选择题 1-5 :B B C C C 6-10:D B C A B 4、下列表达方式正确的是()。 A.class P{ B. class P{ public: public: int x=15; int x; void show(){cout<

C++课后测试满分答案

#include using namespace std; ; A. f1 B. f1 C. f1 D. f1 C A. 独享 B. 共享 C. 私有 D. 无法访问 B A. 重载函数

B. 带默认形参值的函数 C. 内联函数 解答:A 5.单选题:类的定义如下,试问:类B的对象占据内存多少字节空间? class A { private: int b; protected: int a; public: A(int n){ a=n;} }; class B: public A { public: B(int n):A(n){ c=n;} private: int c; }; A. 4 B. 8 C. 12 D. 6 解答:C 6.单选题:下列带默认形参值的函数原型声明正确的是()。 A. int add(int x, int y=5, int z=6);

B. int add(int x=1, int y=5, int z); C. int add(int x=1, int y, int z=6); D. int add(int x=1, int y, int z); 解答:A 7.填空题: 对象将其大部分实现细节隐藏起来,这种机制称为封装 。 解答:封装 8.单选题:构造函数不具备的特征是( )。 A. 构造函数可以重载 B. 构造函数必须指定类型说明 C. 构造函数的函数名与类名相同 D. 构造函数可以设置默认参数 解答:B 9.单选题:定义类模板用关键字()。 A. template B. new C. const D. delete 解答:A 10.填空题:若一个函数的定义处于调用它的函数之前,则在程序开始可以

C语言判断题(部分)

第一章 C语言中,字符数据用格式说明"%c"来输出,字符串数据用格式说明"%s"来输出。T C语言中,关键字及编译预处理命令用小写字母书写。T 二元运算符均可以和赋值运算符构成复合的赋值运算符。T C语言中,不能在变量名、函数名、关键字中插入空格和空行。T Vasual c++6.0中可以使用“//”和“/* */”注释程序,注释部分不编译。T C语言中,格式说明"%10.4f"中10表示数据输出的最小宽度,4表示小数位数。T C语言中,为了区别一般的变量,符号常量必须用大写字母表示。F 执行语句++i ; i=3;后变量i的值为4。F 程序中的“=”是赋值号,与数学中等号的功能相同。F C语言中,在进行混合运算时,数据类型由高级向低级转换。F 将C程序编译成目标文件,其扩展名为EXE。F 整数在存储时不会产生误差,实数在存储时也不会产生误差。F 用float定义的实型变量在内存占8个字节,输入/输出格式符是%f。f C语言中,putchar函数的功能是把一字节代码输出到标准输出设备。T

字符数据与整型数据可互相赋值。T 增1(或自增)、减1(或自减)运算符都是双目运算符。F 逗号表达式的值是第一个表达式的值。F C语言中,强制类型转换后,原变量的值和数据类型不变。T 字符数据在内存以ASCII码存储,占2个字节,用7位二进制表示。F C程序的书写格式比较自由,一行内可写一个语句,也可以写多个语句。T 第二章 if(表达式)语句1 else 语句2 结构中,如表达式为a>10,则else的条件隐含为a<10。F C语言规定,else总是与它上面、最近的、尚未配对的if配对。T switch…case结构中case后的表达式必须为常量表达式。T 可以用swicth结构实现的程序都可以使用if语句来实现。T switch…case结构中条件表达式和常量表达式值可以为float类型。F 由float x=3e-6,y=3e-6;可得x==y的逻辑值为真。F 语句int a=2;if(a=3)b=1;执行后b的值是1。T

判断

三、判断题(10道小题,共10分) 1、C程序总是从main()函数的第一条语句开始执行的。(1分)对 正确错误 2、运算符/和%要求参加运算的对象均为整型数据。(1分)对 正确错误 3、C语言认为名为Student和student的变量是不同变量。(1分)对 正确错误 4、在C程序中,赋值号(= )运算优先级别最低。(1分)错 正确错误 5、do-while语句构成的循环只能用Break语句退出。(1分)错 正确错误 6、函数的形参可以是常量、变量或表达式。(1分)错 正确错误 7、静态变量和外部变量都是全局变量。(1分)错 正确错误 8、若有定义:double x[3][5];则x数组中行下标的下限为0,列下标的上限为4 。(1分)对 正确错误 9、同一结构体类型中的各成员项数据类型可以不相同。(1分)对 正确错误 10、char str[50]; str="I am a student."; 是合法语句。(1分) 正确错误 三、判断题(10道小题,共10分) 1、C语言程序的变量必须先定义再使用。(1分)对 正确错误 2、_ya是不合法的C语言标识符。(1分)错 正确错误 3、C语言是一种结构化程序设计语言。(1分)对 正确错误 4、在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char

5、while语句构成的循环不能用其他语句构成的循环来代替。(1分)错 正确错误 6、4、在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char

2019年秋 考试客观题题集(学生)判断题

1-1函数的形参都属于局部变量。(对) 1-2函数的实参只能是常量。(错) 1-3不管函数定义出现在函数调用之前还是之后,都必须加函数原型声明。(错) 1-4在不同的函数中不可以使用相同名字的变量。(错) 1-5函数形参的存储单元是静态分配的。(错) 1-6C语言中,若省略函数返回类型的申明,则函数类型为int。(对) 1-7C 语言程序中可以有多个函数或多个主函数。(错) 1-8一个函数被调用时,函数体内部又调用另一个函数的调用方式称为嵌套调用。(对) 1-9函数参数之间的传递方式有两种:值传递和地址传递。(对) 1-10对于函数中的所有局部变量,如果没有指定初值,则其初值不确定。(错) 1-11变量被定义后, 它的作用域和寿命就被确定了, 但也可随时修改其作用域或寿命。(错) 1-12在C 语言程序中, 凡是没有出现存储类说明符的变量都是extern类的。(错) 1-13实际参数个数少于形式参数个数不影响函数运行。(错)1-14函数返回值的类型不能是char类型。(错) 1-15全局变量的作用域和生存期与自动类变量的相同。(错)

1-16语句printf("%.2f",1.0/3);输出为0.33。(对) 1-17假设k是整型变量,计算表达式1/k后结果的数据类型是整型。(对) 1-18表达式(x == 0)与表达式(!x)等价。(对) 1-19表达式(3

c试题2

C程序设计—试题2 一、单项选择题 1.C语言程序的全部功能由(c )来完成。 A、程序 B、主程序 C、函数 D、过程 2.C的源程序要变成目标程序要经过步骤(c )。 A、编辑 B、连接 C、编译 D、汇编 3.在下面表达式中选出值为0的表达式(d )。 A、10=9+1 B、7/5 C、8 0 D、!(3*5) 4.下面程序段执行后k的值是(a )。 int k=8; switch (k) { case 6: k++; case 7: k++; break; case 8: k++; default : k++; } A、10 B、9 C、11 D、12 5.为求S=10!的值,S为定义的类型为(C)。 A、int B、unsigned int C、long int D、以上三种类型皆可 6.下面语句中,与if(x!=1) k++; 作用相同的语句是(b )。 A、if (x<>0) k++ B、if (x) k++ C、if (x=1) k++ D、if (1) k++ 7. 设有char a ,b ; 下面函数调用中正确的是(D )。 A、scanf (“%c%c”,a,b) B、getchar(a) C、putchar(a,b) D、putchar(a) 8. 下面程序的运行结果是(b)。 int x=10 , y=20 ; main ( ) { func ( ); printf (“%d,%d\n”,x,y); } func ( ) { int z; z=x; x=y; y=z; x=2*x ; y=2+y ; } A、10;20 B、40,12 C、20,10 D、20,22 9.下面数组定义中,正确的是(a)。 A、int a[4] [3]; B、int a[4,3]; C、int a [ ] [ ]; D、int a [ ] [3] 10.C语言中判断逻辑值‘假’用(c)。

中南大学C++题库

31以下叙述中不正确的是_____。 A. 在不同的函数中可以使用相同名字的变量 B. 函数中的形式参数是局部变量 C.在一个函数内定义的变量只在本函数范围内有效 D.在一个函数内的复合语句中定义的变量在本函数范围内有效 参考答案D 32 C++语言中函数返回值的类型决定于 A.return语句中的表达式类型 B.调用函数的主调函数类型 C.调用函数时变量的类型 D.定义函数时所指定的函数类型 参考答案D 33使用值传递方式将实参传给形参,下列说法正确的是 A.形参是实参的备份 B.实参是形参的备份 C.形参和实参是同一对象 D.形参和实参无联系 参考答案A 34若有如下的函数定义: int sum( int a, float b) { return a+(int)b; } 则下列函数原型不正确的是()。 A.int sum( int, float ); B.int sum( int x, float y ); C.int sum( int b, float a ); D.int sum( int a=10, float b ); 参考答案D 35在下面的函数声明中,存在着语法错误的是 A. void bc(int a, int) ; B.void bc(int, int); C.void bc (int, int x=5) ; D.void bc(int x; int y); 参考答案D

36下列叙述中错误的是()。 A.一个函数中可以有多条return语句 B.调用函数必须在一条独立的语句中完成 C.函数中通过return语句使函数值返回 D.主函数名main也可以带形参 参考答案B 以下语句的输出结果是________ enum weekday {sun, mon=3, tue, wed, thu}; weekday workday; workday=wed; cout<

C语言选择题

选择题A篇 1.以下数据中,不正确的数值或字符常量是(A). (A).c (B).66 (C).0xaa (D).50 2.设j和k都是int类型,则for循环语句: for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k);(A) (A).最多执行10次 (B).最多执行9次 (C).是无限循环 (D).循环体一次也不执行 3.char a1[]="abc",a2[80]="1234";将a1串连接到a2串 后面的语句是(A). (A).strcat(a2,a1); (B).strcpy(a2,a1); (C).strcat(a1,a2); (D).strcpy(a1,a2); 4.以下正确的说法是:在C语言中(A). (A).实参和与其对应的形参各占用独立的存储单元 (B).实参和与其对应的形参共占用一个存储单元 (C).只有当实参和与其对应的形参同名时才共占用存储 单元 (D).形参是虚拟的,不占用存储单元 5.下列字符序列中,是C语言保留字的是(A). (A).sizeof (B).include (C).scanf (D).sqrt 6.以下选项中,与k=n++完全等价的表达式是(A). (A).k=n,n=n+1 (B).n=n+1,k=n (C).k=++n (D).k+=n+1 7.在位运算中,操作数每左移一位,其结果相当于(A). (A).操作数乘以2 (B).操作数除以2 (C).操作数除以4 (D).操作数乘以4 8.以下程序的运行结果是(A). main() { int n; for(n=1;n<=10;n++) { if(n%3==0) continue; printf("%d",n); } } (A).12457810 (B).369 (C).12 (D).1234567890 9.int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为(A). (A).1 (B).2 (C).3 (D).不一定10.下列定义数组的语句中正确的是(A). (A).#define size 10 char str1[size],str2[size+2]; (B).char str[]; (C).int num['10']; (D).int n=5; int a[n][n+2]; 11.C语言中运算对象必须是整型的运算符是(A). (A).%= (B)./ (C).= (D).〈= 12.C语言中while 和do-while 循环的主要区别是(A). (A).do-while 的循环体至少无条件执行一次 (B).while的循环控制条件比do-while的循环控制条件 更严格 (C).do-while 允许从外部转到循环体内 (D).do-while 的循环体不能是复合语句 13.16.在C语言中,形参的缺省存储类别是(A). (A).auto (B).register (C).static (D).extern 14.从键盘上输入某字符串时,不可使用的函数是(A). (A).getchar() (B).gets() (C).scanf() (D).fread() 15.以下数据中,不正确的数值或字符常量是(A). (A).8.9e1.2 (B).10 (C).0xff00 (D).82.5 16.以下不是无限循环的语句为(A). (A).for(y=0,x=1;x>++y;x=i++) i=x; (B).for(;;x++=i); (C).while(1){x++;} (D).for(i=10;;i--) sum+=i; 17.while(fabs(t)<1e-5)if(!s/10)break;循环结束的条件是 (A). (A).t>=1e-5&&t<=-1e-5 (B).fabs(t)<1e-5&&!s/10 (C).fabs(t)<1e-5 (D).s/10==0 18.以下叙述中正确的是(A). (A).构成C程序的基本单位是函数 (B).可以在一个函数中定义另一个函数 (C).main()函数必须放在其它函数之前 (D).所有被调用的函数一定要在调用之前进行定义 19.函数rewind 的作用是(A). (A).使位置指针重新返回文件的开头 (B).将位置指针指向文件中所要求的特定位置 (C).使位置指针指向文件的末尾 (D).使位置指针自动移至下一个字符位置 20.C语言程序中,当调用函数时(A). (A).实参和虚参各占一个独立的存储单元 (B).实参和虚参可以共用存储单元 (C).可以由用户指定是否共用存储单元 (D).计算机系统自动确定是否共用存储单元

c语言课外作业3

第5、6、7章函数、编译预处理、数组练习题 一、选择题 1.以下正确的说法是_______。 A.用户若需调用标准库函数,调用前必须重新定义。 B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义。 C.系统根本不允许用户重新定义标准库函数。D.用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,由系统自动去调用。 2.以下正确的函数形式是_______。 A.double fun( int x , int y ) {z = x + y ;return z ;} B.fun( int x , y ) {int z ;return z ;} C.fun( x , y ) {int x , y ; double z ; z = x + y ;return z ; } D.double fun( int x , int y ) {double z ; z = x + y ;return z ;} 3.如果一个函数没有返回值,那么该函数的类型是_______。 A.int B.char C.float D.void 4.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是_______。 A.int B.char C.float D.void 5.以下说法不正确的是_______。 A.实参可以是常量、变量或表达式 B.形参可以是常量、变量或表达式 C.形参可以为任意类型 D.形参应与其对应的实参类型一致 6.一个函数形参的作用域是_______。 A.main函数B.形参所在函数体 C.从定义处到文件尾D.整个程序 7.以下关于形参和实参的说明中,错误的是_____。A.实参和形参占用不同的内存单元,即使同名也相互不影响 B.实参在进行函数调用时,它们都必须有确定的值,以便把这些值传给形参 C.实参对形参的数据传送是双向的,可以把实参的值传给形参,也可以把形参的值反向传给实参D.形参变量只有在被调用时才分配内存单元8.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是_______。 A.地址传递B.单向值传递 C.由实参传递给形参,再由形参传回给实参D.由用户指定传递方式 9.关于函数调用的形式,以下错误的描述是_____。A.可以出现在执行语句中 B.可以出现在一个表达式中 C.可以作为一个函数的实参 D.可以作为一个函数的形参 10.C语言规定,函数返回值的类型是由______。A.return语句中的表达式类型所决定 B.调用该函数时的主调函数类型所决定 C.调用该函数时系统临时决定 D.在定义该函数所指定的函数类型所决定11.以下函数原型声明语句正确的是______。A.void f( int x ) ; B.void f( x ) ; C.void f( int x ) D.void( int x ) ; 12.若用一维数组名作为函数调用的实参,传递给形参的是_______。 A.数组首元素的地址B.数组第一个元素的值C.数组中全部元素的值D.数组元素的个数13.以下关于函数的递归调用说法中,错误的是______。 A.递归调用时,调用函数又是被调用函数,即递归函数将反复地调用其自身 B.为了防止递归调用无终止地进行,必须在函数内有终止递归调用的手段 C.递归调用分为直接递归调用和间接调用两种D.在递归调用中每一次调用该函数时,所使用的实参都相同 14.以下不正确的说法是________。 A.在不同函数中可以使用相同名字的变量B.形式参数是局部变量 C.在函数内定义的变量只在本函数范围内有效D.在函数内的复合语句中定义的变量在本函数范围内有效 15.凡在函数中未指定存储类型的局部变量,其隐含的存储类型为________。 A.自动( auto ) B.静态( static ) C.外部( extern ) D.寄存器(register) 16.编译预处理包括_______。 A.文件包含,宏定义和条件编译

c选择题判断题

判断题 1.C 语言源程序文件是可执行文件。(×) 2. 语言源程序文件必须通过编译连接才能运行。(√) 3.C 语言源程序文件通过编译得到的目标文件是可执行文件。(× ) 4. 可以由多个目标文件连接得到可执行文件。(√ ) 5.C 语言源程序只能是一个单独的文件。(× ) 6.C 语言源程序有且只有一个main() 函数。(√ ) 7. 最简单的 C 语言源程序可以不包含任何函数。(× ) 8.C 语言源程序可以由多个函数组成,根据函数在文件中的先后秩序依次执行。(× ) 9.C 语言源程序由预处理命令、说明语句和函数组成。(√ ) 10.C 语言源程序由语句组成,按语句在文件中的先后秩序依次执行。(× ) 11.C 语言自定义函数由语句组成,按语句在文件中的先后秩序依次执行。(√ ) 12.C 语言自定义函数中可以定义变量、函数、宏。(√ ) 13.C 语言自定义函数由预处理命令、说明语句和表达式语句组成。(√) 14.C 语言自定义函数中说明语句必须放在所有表达式语句之前。(√ ) 16.C 语言中函数说明可以放在调用函数中,也可以放在所有函数之外。(√ ) 16.C 语言中函数和变量必须先定义后使用,但可以通过函数和变量的说明扩充作用域。 (√ ) 17.C 语言中标识符可用作变量名、函数名、宏名。(√ ) 18.C 语言中由字母、数字下划线组成的符号都是标识符。(× ) 19.C 语言中所有关键字、预定义标识符都不可用作用户自定义标识符。(× ) 20.C 语言标识符不可包含空格。(√ ) 21.C 语言标识符的默认类型是int 类型的变量。(× ) 22.C 语言标识符中字母不区分大小写。(× ) 23.C 语言标识符第一个字符只能是字母。(× ) 24.C 语言中自定义函数只能有一个返回值,所以不能改变调用函数中一个以上的变量的值。 (× ) 25.C 语言中函数参数传递是值传递,所以不能交换调用函数中两个变量的值。(× ) 26.C 语言中函数形式参数属于局部变量。(√ ) 27. 主函数中的变量属于全局变量,可以在所有函数中访问。(× ) 28. 静态变量的生存期与应用程序相同,可以在所有函数中访问。(× ) 单项选择题 1.设以下变量均为 int 类型,则值不等于 7 的表达式是 ( C ) 。 A.(x=y=6,x+y,x+1) B.(x=y=6,x+y,y+1) C.(x=6,x+1,y=6,x+y) D.(x=6,x+1,y=x,y+1) 2.设变量 a 是整型, b 是实型, c 是双精度型,则表达式 10+'a'+b*c值的数据类型为 ( C) 。 A.int B.float C.double D.不确定 3.设有说明: char w; int x; float y;double z; 则表达式 w*x+z-y值的数据类型为 ( D) 。 A.float B.char C.int D.double 4.使用语句 scanf("x=%f,y=%f",&x,&y);输入变量 x、y 的值(□代表空格) , 正确的输入是 ___C_。 A.1.25,2.4 B.1.25□ 2.4 C.x=1.25,y=2.4 D.x=1.25□ y=2.4 5.C 语言中 while和do-while循环的主要区别是( A ).

电子科技大学《C语言》2020秋期末考试试题答案

电子科技大学《C语言》2020秋期末考试 试题答案 试卷总分:100得分:100 一、单选题(共35道试题,共70分) 1.若有说明int a[][3]={1,2,3,4,5,6,7};则a数组行数的大小为()。A.2 B.3 C.4 D.不确定 答案:B 2.若调用一个函数,且此函数中没有return语句,则正确的说法是该函数()。A.没有返回值 B.返回若干个系统默认值 C.返回一个用户所希望的函数值 D.返回一个不确定的值 答案:D 3.在“文件包含”预处理语句的使用形式中,当#include后面的文件名用括起时,寻找被包含文件的方式是 A.直接按照系统设定的标准方式搜索目录

B.先在源程序所在目录搜索,再按照系统设定的标准方式搜索 C.仅仅搜索源程序所在目录 D.仅仅搜索当前目录 答案:B 需要代做加微boge 4.C语言规定:在一个源程序中,main函数的位置()。 A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 答案:C 5.以下程序段的作用是()。inta[]={4,0,2,3,1},i,j,t;for(i=1;i=0&&t>a[j]) {a[j+1]=a[j];j- -;} a[j+1]=t; } A.对数组a进行插入排序(升序) B.对数组a进行插入排序(降序) C.对数组a进行选择排序(升序) D.对数组a进行选择排序(降序) 答案:B

6.以下说法正确的是()。 A.x'+5是一个错误的表达式 B.C语言不允许类型的混合运算 C.强制类型转换时,类型说明符必须加括号 D.(int)x+y?和(int)(x+y)是完全等价的表达式答案:C 7.以下叙述不正确的是()。 A.一个C源程序可由一个或多个函数组成 B.一个C源程序必须包含一个main函数 C.C程序的基本组成单位是函数 D.在C程序中,注释说明只能位于一条语句的后面 答案:D .下面函数调用语句含有实参的个数 fun((exp1,exp2),(exp3,exp4,exp5)); A.1 为()。B.2 C.4 D.5 答案:B

C语言程序设计复习题(判断题)新

C语言程序设计复习题(判断题)新

第一部分判断题 1.对于int n=3;执行n+=n-=n*n;后n的值是9。() 提示正确答案为× 2.在C语言中,定义int a=b=c=5;是错的,而int a,b,c; a=b=c=5;是正确的.() 提示正确答案为√ 3. 若有定义int a=3,b=4,c=5; 则a+b>c&&b==c 的值为1。() 提示正确答案为× 4. int x=3,y=2;则表达式(y++==--x)?y++:x++的值为3。() 提示正确答案为√ 5. 在C语言中,不同类型的数据不可以在一起进行算术运算。() 提示正确答案为× 6. 由于计算机的计算精度很高,所以在C语言中程序计算1.0/3*3的结果肯定等于1。() 提示正确答案为× 7. 当一个C语言表达式中同时含有字符型、整型、单精度和双精度类型数据参加运算时,按照"由低到高"的原则,所有的数据都必须先转换为双精度类型

数据后方能参加运算。() 提示正确答案为× 8. C语言与其他高级语言一样,对于所有的同级运算符均遵循左结合原则。() 提示正确答案为× 9. 如果被定义函数的返回值类型是整型或字符型,使用前可以不必进行说明。()提示正确答案为√ 10. 若x为整型变量、j为实型变量,当执行语句:x=(int)j;后,j也变为整型变量。()提示正确答案为× 11. 赋值运算符优先于条件运算符.( ) 提示正确答案为× 12. “!”的优先级可以比“/”高。() 提示正确答案为√ 13. 两个char 型数据相加,其结果为char型。( ) 提示正确答案为× 14. 若有定义int a;float b=2.1;则a=int(b+3)是合法的赋值表达式。() 提示正确答案为× 15. 若有int a=4,b=0;则表达式a&&!b的值为0。

教材每章后选择题参考答案

习题1: 一、选择题 1. C语言中的标识符只能由字母,数字和下划线组成且第一个字符( A )。 A. 必须为字母或下划线 B. 必须为下划线 C. 必须为字母 D. 可以是字母、数字或下划线中的任一个 2. C语言中,编程人员可以使用的合法标识符是( D )。 A. if B. 6e8 C. char D. print E. a+b 3. C语言程序中可以对程序进行注释,注释部分必须用符号( C )括起来。 A. { 和 } B. [ 和 ] C. /* 和 */ D. */ 和 /* 4. C语言程序编译时,程序中的注释部分是(D)。 A. 参加编译,并会出现在目标程序中 B. 参加编译,但不会出现在目标程序中 C. 不参加编译,但会出现在目标程序中 D. 不参加编译,也不会出现在目标程序中 5. 以下叙述正确的是( c )。 A. 在C程序中,main()函数必须位于程序的最前面 B. C程序的每行中只能写一条语句 C. C语言本身没有输入输出语句 D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 6. C程序要正确地运行,必须要有( C )函数。 A. printf()函数 B. 定义的函数 C. main()函数 D.不需要函数 7. 以下叙述正确的是(D )。 A. 编写C程序,只需编译、连接没有错误,就能运行得到正确的结果 B. C程序的语法错误包括编译错误和逻辑错误 C. C程序有逻辑错,则不可能连接生成EXE文件 D. C程序的运行时错误也是由程序的逻辑错误产生的,引起程序的运行中断习题2:

1. 执行代码: int k; k=8567; printf("|%-06d|\n",k); 后显示(C)。 A.无法显示B.|008567| C.|8567 | D.|-08567| 2. 用小数或指数形式输入实数时,在scanf函数中格式说明字符为(c)。 A.d B.c C.f D.r 3.可以输入字符型数据至字符变量c的语句是(d)。 A.putchar(c); B.getchar(c); C.getchar(); D.scanf("%c",&c); 4. 若x是int类型变量,y是float类型变量,则为了将数据55和5 5.5分别赋给x和y,则执行语句:scanf(“%d, %f”,&x,&y); 时,正确的键盘输入是(a )。 A. 55,55.5↙ B. x=55, y=55.5↙ C. 55↙55.5↙ D. x=55↙y=55.5↙ 5. printf格式控制与输出项的个数必须相同。格式说明的个数小于输出项的个数,多余的输出项将(a)。 A.不予输出B.输出空格C.正常输出D.输出不定值或0 6. scanf函数的格式说明的类型与输入的类型应一一匹配。如果类型不匹配,系统(b)。 A.不予接收 B.并不给出出错信息,但不可能得出正确信息数据 C.能接受正确输入 D.给出出错信息,不予接收输入 7.(d)是正确的描述 A.输入项可以是一个实型常量,如scanf("%f",4.8); B.只有格式控制,没有输入项也能输入,如scanf("a=%d,b=%d"); C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%5.3f",&f); D.当输入数据时,必须指明变量的地址,如scanf("%f",&f);

c语言程序设计选择题库

i.C概述 2.C语言的基本单位是A A 函数 B 源程序 C 语句 D 程序行 3..以下说法中正确的是C A C语言程序总是从第一个定义的函数开始执行C; B C语言程序中至少有一个main函数; C C语言程序总是从main函数开始执行; D C语言程序中的main函数必须放在程序的开始部分; 4.C源程序文件的扩展名为C A .exe B .txt C .c D .obj 5..以下说法中正确的是D A C源程序可以直接运行产生结果; B C源程序经编译后才可直接运行产生结果; C C源程序经连接后才可直接运行产生结果; D C源程序经编译和连接后才可直接运行产生结果; 6.在C程序中,main()函数的位置是C A 必须作为第一个函数; B 必须作为最后一个函数; C 可以任意; D 必须放在它所调用的函数之后; 7.以下叙述不正确的是D A 一个C源程序可由一个或多个函数构成; B 一个C源程序必须包含一个main函数; C C程序的基本组成单位是函数; D 在对一个C程序进行编译的过程中,可发现注释中的拼写错误; 8.C语言中,下列正确的叙述是D A C程序中的关键字必须小写,其他标识符不区分大小写 B C程序中的所有字母都不区分大小写 C C程序中的所有字母都必须小写 D 所有的C语言关键字必须小写 9.要把高级语言编写的源程序转换为目标程序,需要使用D A 编辑程序 B 驱动程序 C 诊断程序 D 编译程序 10.以下叙述中错误的是 D A C语言源程序经编译后生成后缀为.obj的目标程序 B C语言经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指 令文件 C 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文 件中 D C语言的每条可执行语句和非执行语句最终都将被转换成二进制的机器指 令 11.用C语言编写的代码程序B A 可立即执行 B 是一个源程序 C 经过编译即可执行 D 经过编译解 释才能执行

C语言选择题

1.执行以下程序后,a的值为( ). main() { int a,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; printf("a=%d",a); } A)-1 B)1 C)0 D)4 [A] [B] [C] [D] 2.以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误的原因是( ). main() { int *p,*q,a,b; p=&a; printf("\ninput a:"); scanf("%d",*p); } A)*p表示的是指针变量p的地址. B)*p表示的是变量a的值,而不是变量a的地址. C)*p表示的是指针变量p的值 D)*p只能用来说明p是一个指针变量 [A] [B] [C] [D] 3.已有定义 int k=2;int *ptr1,*ptr2;且ptr1 、ptr2均已指向变量k,下面不能正确执行的赋值语句是( ) A) k=*ptr1+*ptr2 B) prt2=k; C) ptr1=ptr2 D) k=*ptr1*(*ptr2); [A] [B] [C] [D] 4.变量的指针,其含义是指变量的( ) A) 值 B) 地址 C) 名 D) 一个标志

[A] [B] [C] [D] 5.若有说明: int *p,m=5,n; 以下正确的程序是( ) A) p=&n; B)p=&n; scanf("%d",&p); scanf("%d",*p); C) scanf("%d",&n); D) p=&n; *p=n; *p=m; [A] [B] [C] [D] 6.下面程序段的运行结果是( ) char *s="abcde"; s+=2; printf("%c",*s); A) cde B) 字符‘c’ C) 字符‘c’的地址 D) 无确定的输出结果 [A] [B] [C] [D] 7.设指针x 指向的变量值为25, 则printf("%d\n",++*x);的输出结果是( ) A)23 B)24 C)25 D)26 [A] [B] [C] [D] 8.若有定义char s[10];则在下面表达式中不表示s[1]的地址的是( ) A) s+1 B) s++ C) &s[0]+1 D) &s[1] [A] [B] [C] [D] 9.有以下程序 #include main() {

相关文档
最新文档