厦门大学 C语言程序设计2016模拟题讲评及课程复习
C语言程序设计案例教程模仿练习及拓展练习(参考答案)

《C语言程序设计案例教程》模仿练习及拓展练习(参考答案)第2章数据类型、运算符与表达式模仿练习(ex1.c)1. 设 a = 10,b = 3,分别计算表达式a-b+++1和++a-b+++1的值。
2. 输入一个3位数的整数,编写一个程序,将它的十位数和百位数互换位置。
3. 输入一个4位整数,反向输出这个数。
#include <stdio.h>void main(){int x,y,x1,x2,x3,x4;//1. 设a = 10,b = 3,分别计算表达式a-b+++1和++a-b+++1的值int a =10,b=3,c;c = a-b+++1; //相当于c = a-(b++)+1->c = 10-3+1 =8;b = b+1=4printf("a-b+++1=%d\n",c);a = 10;b = 3;c = ++a-b+++1;printf("++a-b+++1=%d\n",c);//2. 输入一个3位数的整数,编写一个程序,将它的十位数和百位数互换位置。
printf("输入一个3位数的整数:");scanf("%d",&x);x1=x/100;x2= (x/10)%10;x3=x%10;y = x3*100+x2*10+x1;printf("%d\n",y);//3. 输入一个4位整数,反向输出这个数。
printf("输入一个4位数的整数:");scanf("%d",&x);x1=x/1000;x2= (x/100)%10;x3=(x%100)/10;x4=x%10;y = x4*1000+x3*100+x2*10+x1;printf("%d\n",y);}模仿练习(ex2.c)1.若有int b=7;float a=2.5F,c=4.7F;求表达式a+(b/2*(int)(a+c)/2)%4的值2. 若有int a=2,b=6;表达式(a++)*(--b)执行后,变量a和b的值分别为多少?#include "stdio.h"void main(){ //1.若有int b=7;float a=2.5F,c=4.7F;求表达式a+(b/2*(int)(a+c)/2)%4的值int b=7,a1;float a=2.5F,c=4.7F;printf("a+(b/2*(int)(a+c)/2)%4 =%d\n",a+(b/2*(int)(a+c)/2)%4);//2. 若有int a1=2,b=6;表达式(a1++)*(--b)执行后,变量a1和b的值分别为多少?a1=2;b=6;(a1++)*(--b);printf("a1=%d,b=%d\n",a1,b);}模仿练习(ex3.c)1. 任意输入两个数,求这两个数进行“与”和“或”之后的结果。
厦门理工学院c语言复习题,答案仅供参考

C程序设计期末复习思考题一、选择题:1 一个C语言程序是由______B___。
A)一个主程序和若干个程序组成B)函数组成C)若干过程组成D)若干子程序组成2已知各变量的类型说明如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是______D____。
A)a+=a-=(b=4)*(a=3) B) a=a*3=2C) x%(-3) D) y=float(i)3以下不正确的语句为___B_______。
A) if (x > y); B) if (x = = y) && (x != 0) x + = y;C) if (x < y) { x ++; y++;} D) if (x != y) scanf(“ %d ”,&x);else scanf(“ %d ”,&y);)4C语言中while 和do —whiloe循环的主要区别是_____A______。
A)do —while 的循环体至少无条件执行一次B)while 的循环控制条件比do—while 的循环控制条件严格C)do —while 允许从外部转到循环体内D)do —while 的循环体不能是复合语句5 下面程序应该是_____D___ (程序行左边的数字表示行号)1main( ) 5 for( i=0;i<3;i++) scanf( “%d”,&a[i]);2{ 6 for(i=1;i<4;i++) a[0] = a[0] + a[i];3int a[3]={0}; 7 printf(“%d\n”, a[0]);4int i; 8 }A)没有错误B)第3 行有错误C)第5 行有错误D)第6 行有错误6 以下程序有语法性错误,有关错误原因的正确说法是____________。
main( ){ int G=5,k;void prt_char( );……k=ptr_char(G);……}A)语句void ptr_char( ); 有错,它是函数调用语句,不能用void 说明B)变量名不能使用大写字母C)函数说明和函数调用语句之间有矛盾D)函数名不能使用下划线7若有以下定义,则对a数组元素正确引用的是___A_________。
【VIP专享】厦门大学《计算机应用基础》复习题(A卷)

30.在资源管理器右窗格中,如果需要选定多个非连续排列的文件,应按组合键( )。
A、Ctrl+单击要选定的文件对象
C、shift+单击要选定的文件对象
31.Windows 的整个显示屏幕称为( )。
A、窗口
B、操作台
32. Windows 中,对文件和文件夹的管理是通过( )来实现的。
A、对话框
B、剪贴板
A、CAI
21. 控制面板的作用是( )。
A) 控制所有程序的执行
C) 设置“开始”菜单
22. 剪贴板的作用是( )。
A) 临时存放应用程序剪贴或复制的信息
B) 作为资源管理器管理的工作区
C) 作为并发程序的信息存贮区
D) 在使用 DOS 时划给的临时区域
B、0.100001
B、650MB
B、(1FF)16
C、编译和链接
D、二分之一
D、0 和 0
D、系统软件
D、解释和汇编
1
A、0.100101
17.一张 CD-ROM 盘片可存放字节数是( )。
A、640KB
18.下列一组数据中的最大数是( )。
A、(227)8
19.微型计算机外(辅)存储器是指( )。
A、RAM
20.计算机辅助设计的英文缩写是( )。
B、1 和 0
C、0 和 1
6.培养学生观察、思考、对比及分析综合的能力。过程与方法1.通过观察蚯蚓教的学实难验点,线培形养动观物察和能环力节和动实物验的能主力要;特2征.通。过教对学观方察法到与的教现学象手分段析观与察讨法论、,实对验线法形、动分物组和讨环论节法动教特学征准的备概多括媒,体继课续件培、养活分蚯析蚓、、归硬纳纸、板综、合平的面思玻维璃能、力镊。子情、感烧态杯度、价水值教观1和.通过学理解的蛔1虫.过观适1、察于程3观阅 六蛔寄.内列察读 、虫生出蚯材 让标容生常3根蚓料 学本教活.见了 据身: 生,师的2的、解 问体巩鸟 总看活形线作 用蛔 题的固类 结雌动态形业 手虫 自形练与 本雄学、三动: 摸对 学状习人 节蛔生结、4物、收 一人 后和同类 课虫活构请一并蚯集 摸体 回颜步关 重的动、学、归蚓鸟 蚯的 答色学系 点形教生生让纳在类 蚓危 问。习从 并状学理列学线平的害 题蚯四线人 归、意特出四生形面生 体以蚓、形类 纳大图点常、五观动玻存 表及的鸟请动文 本小引以见引、察物璃现 ,预身类 3学物明 节有言及的导 、巩蚯的上状 是防体之生和历 课什根蚯环学 怎固蚓主和, 干感是所列环史 学么据蚓节二生 样练引要牛鸟 燥染否以举节揭 到不上适动、回 区习导特皮类 还的分分蚯动晓 的同节于物让答 分。学征纸减 是方节布蚓物起 一,课穴并学课 蚯生。上少 湿法?广的教, 些体所居归在生前 蚓回4运的 润;泛益学鸟色生纳.靠物完问 的答蛔动原 的4,处目类 习和活环.近在成题 前蚯虫的因 ?了以。标就 生体的节身其实并 端蚓寄快及 触解上知同 物表内特动体结验总 和的生利慢我 摸蚯适识人 学有容点物前构并结 后生在用一国 蚯蚓于与类 的什,的端中思线 端活人问样的 蚓飞技有 基么引进主的的考形 ?环体题吗十生行能着 本特出要几变以动境,?大 节活的1密 方征本“特节化下物.并会让为珍 近习形理切 法。课生征有以问的引小学什稀 腹性态解的 。2课物。什游题主.出起结生么鸟 面和结蛔关观题体么戏:要蚯哪利明?类 处适构虫系察:的特的特蚓些用确等 ,于特适。蛔章形殊形征这疾板,资 是穴点于可虫我态结式。种病书生料 光居是寄的们结构,五典?小物, 滑生重生鸟内学构,学、型5结的以 还活要生类部习与.其习巩的如鸟结爱 是的原活生结了功颜消固线何类构鸟 粗形因的存构腔能色化练形预适特护 糙态之结的,肠相是系习动防于点鸟 ?、一构现你动适否统。物蛔飞都为结。和状认物应与的。虫行是主构课生却为和”其结病的与题、本理不蛔扁的他构?特环以生8特乐虫形观部特8三征境小理页点观的动位点、梳相组等这;,哪物教相,引理适为方些2鸟,育同师.导知应单面鸟掌类结了;?生学识的位你握日构解2互.生。办特认线益特了通动观手征识形减点它过,察抄;吗动少是们理生蛔报5?物,与的解.参虫一了它和有寄主蛔与结份解们环些生要虫其构。蚯都节已生特对中。爱蚓会动经活征人培鸟与飞物灭相。类养护人吗的绝适这造兴鸟类?主或应节成趣的为要濒的课情关什特临?就危感系么征灭来害教;?;绝学,育,习使。我比学们它生可们理以更解做高养些等成什的良么两好。类卫动生物习。惯根的据重学要生意回义答;的3.情通况过,了给解出蚯课蚓课与题人。类回的答关:系线,形进动行物生和命环科节学动价环值节观动的物教一育、。根教据学蛔重虫点病1.引蛔出虫蛔适虫于这寄种生典生型活的线结形构动和物生。理二特、点设;置2.问蚯题蚓让的学生生活思习考性预和习适。于穴居生活的形态、结构、生理等方面的特征;3.线形动物和环节动物的主要特征。
C语言程序设计实训教程习题和实验解答

sum=a+b+c;
average=sum/3.0;
printf(“sum=%d,average=%f\n”,sum,average);
}
【实验解答】
1.c=10
2.①程序功能为输入两个数,求两数的差
②c=10
3.#include<stdio.h>
3.运行结果-1,177777,ffff,65535
b=-2
4.编程并上机调试运行
1)设圆半径为r=1.5,求圆周长、面积。要求用scanf函数输入数据,输出时取小数点后两位。
#include <stdio.h>
void main()
{
float r,l,s,v;
scanf("%f",&r);
l=2*3.14*r;
case 8:printf("B\n");break;
case 7:printf("C\n");break;
case 6:printf("D\n");break;
default:printf("E\n");
}
}
}
3)输入四个数,要求按从大到小顺序输出。
#include<stdio.h>
void main()
}
2.由键盘输入3个数,若输入的这3个数可以构成三角形,则计算以这3个数为边长的三角形周长;如果不能,则输出提示错误信息。
#include <stdio.h>
void main()
{
float a,b,c,l;
C语言程序设计课程(试题整理稿件)

一、选择题B-变量s已定义为“char *s=”Heoll world!””,要使变量p指向s所指向的同一个字符串,则应定义为()。
A. char *p=s;B-标准输入设备的文件流标示符是()。
A. stdinB-表示文件结束符的符号常量为()C. EOFC-char类型的长度为________个字节。
A. 1 向一个二进制文件中写入信息的函数为()。
D. fwrite()C-C语言程序中的基本功能模块为()。
D.函数C-C语言原程序文件的缺省扩展名为(A)。
D.CC-C语言中的系统函数fopen()是()一个数据文件的函数。
D. 打开C-程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用()符号作为分隔符。
D. 空格或回车C-从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。
B.fgets()D-带有随机函数的表达式rand()%20的值在(C)区间内, C.0~19D-当处理特定问题时的循环次数已知时,通常采用(A)循环来解决。
A.forF-for循环语句“for(i=0; i<n; i+=2) S;”中循环体S语句被执行的次数为()。
A. (n+1)/2F-for循环语句能够被改写为()语句。
D. whileF-for语句能够被改写为(D)语句。
D.whileH-函数调用func(exp1,exp2),exp3*exp4-exp5)中所含实参的个数为(B)个。
B.2J-假定a为一个数组名,则下面的( B )表示有错误。
B.*a++J-假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大()个字节。
C.16 J-假定a为一个字符数组名,则a[8]的地址比该数组的首地址大( B )个字节。
B.8J-假定a为一个字符数组名,则元素a[1]的指针访问方式为()。
B. *(a+i)J-假定i的初值为0,则在循环语句“while(i<n) {s+=i*i; i++;}”中循环体被执行的总次数为()。
C语言程序设计实用教程 参考答案

C语言程序设计实用教程参考答案C语言程序设计是计算机科学中最基础和重要的一门课程,对于计算机专业的学生来说至关重要。
本教程将为初学者提供一份实用的参考答案,帮助他们学习和理解C语言的程序设计。
1. 概述C语言是一种通用的高级编程语言,最初由贝尔实验室的Dennis Ritchie开发。
它在计算机科学领域具有广泛的应用,特别在系统开发和嵌入式系统中非常常见。
2. 程序结构C语言的程序结构主要包含预处理指令、函数、语句和注释。
预处理指令通过“#”符号开头,用于引入头文件和宏定义。
函数是C语言中的基本模块,用于封装和组织代码。
语句是具体的执行指令,用于实现特定的功能。
3. 常用数据类型C语言提供了多种数据类型,如整数、浮点数、字符和字符串等。
其中整数可以分为有符号整数和无符号整数。
浮点数用于处理带有小数部分的数值。
字符类型用于表示单个字符,字符串类型用于表示多个字符的序列。
4. 控制结构控制结构是C语言中的重要概念,用于控制程序的流程和执行顺序。
常见的控制结构包括条件语句(if-else语句和switch语句)和循环语句(while循环、for循环和do-while循环)。
5. 数组和指针数组是一种用于存储相同类型数据的集合。
C语言中的数组可以一维或多维。
指针是一种特殊的变量类型,用于存储内存地址。
通过指针可以实现对其他变量的间接操作。
6. 函数函数是C语言中的重要概念,用于将代码封装成可复用的模块。
C语言提供了多种函数类型和参数传递方式。
函数的定义包括函数名、返回类型、参数列表和函数体。
7. 文件操作C语言提供了对文件的操作功能,包括文件的打开、读取、写入和关闭等。
文件操作需要使用标准库函数和文件指针来实现。
8. 动态内存分配C语言中可以通过动态内存分配函数(如malloc和free)来动态分配和释放内存。
动态内存分配可以提高程序的灵活性和效率。
9. 结构体和联合体结构体是一种自定义数据类型,用于封装不同类型的数据成员。
C语言基础练习题含复习资料

目录第1-3章C语言基础知识习题 (2)1 选择题 (2)2 填空题 (7)3 答案及部分解析 (9)第4章选择结构习题 (11)1 选择题 (11)2 填空题 (17)3 答案及部分解析 (23)第5章循环结构习题 (26)1 选择题 (26)2 填空题: (32)3 答案及部分解题分析 (39)第6章数组习题 (41)1. 单项选择题 (41)2. 填空题 (44)3. 判断题 (45)4. 程序填空题 (45)5. 阅读程序,分析程序的功能。
(49)第7章函数习题 (55)1. 单项选择题 (55)2. 填空题 (56)3. 判断题 (57)4. 程序填空题 (58)5. 写出下列程序运行结果 (59)第8章指针习题 (67)1 选择题 (67)2 填空题 (69)第1-3章C语言基础知识习题1 选择题1. 以下不是C语言的特点的是()。
A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。
A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。
A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。
A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。
A.\\ B.\0xAA C.\t D.\06.不属于C语言关键字的是()。
A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。
A.Float B.signed C.integer D.Char8.以下不能定义为用户标示符的是()。
A.scanf B.V oid C._3com_ D.int9.一个C程序是由()。
厦门大学C语言半期考试卷附答案

厦门大学《C程序设计》课程试卷软件学院系2007 年级专业主考教师:试卷类型:(A卷)班级:姓名:学号:题号一二三四总分评卷人得分一、选择题(本大题共22小题,每小题1分,共22分)1.以下叙述中错误的是()。
A.函数是C程序的基本单位B.一个C源程序可以包含多个main()函数C.C程序中的每一个语句必须有一个分号D.C程序中注释部分可以出现在程序中任意合适的地方2.以下属于C语言合法命名的为()A._int B.int C.int-1 D.1int3.指定变量c、d为无符号短整型数据,下列语句正确的是()A.unsigned int c, d; B.unsigned long c, d;C.short int c, d; D.unsigned short c, d;4.已知字母A和a的ASCII码分别是65和97,则用八进制表示的字符常量’\101’是()A.′A′B.′a ′C.′e′D.非法的常量5.已知a=1,b=5。
执行输入语句scanf("%d ;%d",&a,&b);正确的键盘输入是()A.3 4B.3,4C.a=3,b=4D.3 ;46.下列语句的屏幕输出会是()printf( “ab c\t de\rf\tg” );A.ab c df g B.fab c gdeC.f gde D.ab c def g7.以下程序段的输出结果是()int x=100,y=200; printf(“%d”,(x,y));A.200B.100C.100 200D.不确定的8.a=5,b=4; 则printf (“%d”, a>b?a:b+1); 的输出为()A.3 B.4 C.5 D.69.int a=3,b=4,c=5;下列表达式的值为0的是()A.’a’&&’b’B.a||b+c&&b-c C.a<=b D.!((a<b)&&!c||1)10.a、b、c、d、m、n为整数型变量,值均为1;执行(m=a>b)&&(n=c>d);后m,n的值是()A.0,0B.1,0C.0,1D.1,111.设x的值为10,则表达式1<x<2的值为()A.0B.1 C.True D.F alse12.若要求从键盘读入含有空格字符的字符串,应使用函数()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
12. 下列运算符中, 优先级最高的是( B )。 A = B + C && D != 知识点:P29 常用运算符的优先级及结合性 13. 设有定义 int a[10]={ 0 }; 则说法正确的是( A )。 A 数组a有10个元素, 各元素的值为0 B 数组a有10个元素, 其中a[0]的值为0, 其他元素的值不确定 C 数组a有1个元素, 其值为0 D 数组初始化错误, 初值个数少于数组元素个数 知识点:P141~144 数组的定义、引用、初始化
知识点: P30 /(除法运算符)、%(求余运算符)、求某个整数 的个位、十位、百位、......
2. 请在考生文件夹下的prog2.cpp文件中编写程序, 要求:
计算数列S=1-1/3+1/5-1/7+1/9-1/11+……的值, 直到最后一项
的绝对值小于0.000001为止。 #include <stdio.h>
知识点: P31 自增++、自减--运算符
2. 考生文件夹下的图形文件read2.bmp描述的是程序代码, 请 阅读该程序, 把程序的运行结果写在文本文件read2.txt中。
//read2.bpm void fun(int x, int *y) { x=5; *y=5; } void main( ) { int a=2, b=2; fun(a, &b); printf("%d\n%d\n", a, b); }
#include <stdio.h> #define M 1+2 void main() { char str[6]={'a','b','\0','c','d','\0'}; int x=8,*p=&x; int b[5],i; printf("%s\n",str); for (i=0; i<=4; i++) b[i]=i*3; printf("%d\n",b[4]); printf("%d\n", 0<=x<=3); printf("%d\n", 2*M*3); printf("%d\n", *p); printf("%c\n", str['\0']); }
数据位数控制不考。
第 4章 条件运算符不考, switch语句不考。 第 5章 循环结构重点是while和for语句, do…while、 break、continue、goto等语句不考。程序设计重点 掌握单重循环, 二重循环仅限于简单应用。
第 6章 标准库函数仅限能正确使用abs、fabs 和sqrt函 数即可。在自定义函数中, 函数嵌套和函数递归不考。 第 7章 条件编译不考。 第 8章 多维数组不考, 字符串函数不考。 第10章 指针的概念及用法 第9、11章 只作简单了解
1. 启动运行Microsoft Visual C++ 6.0 2. 选“打开” 命令, 在考生文件夹下选 prog1.cpp/prog2.cpp/prog3.cpp/prog4.cpp 3. 编写程序 4. 编译, 会提示创建默认项目工作区文件, 选“是”。 5. 组建 6. 执行 7. 退出Microsoft Visual C++ 6.0
for (int i=1, s=0; i<=n; i++) { s+=i; printf("%d\t", i); if (i%5==0) printf("\n"); } printf("\ns=%d\n",s);
知识点: P84 while语句; P31 自增++、自减--运算符
2. 考生文件夹下有一程序文件error2.cpp, 修改并执行程序。
5. 语句 if (x) 和 ( B )等价。 A if (x<>0) B if (x!=0) C if (x=0) D if (x==0) 知识点:P87 while (!x)与while (x= =0), while (k!=0)与while (k) 等价 6. 合法的C语言标识符是( B )。 A 2a B IF C if D a-b 知识点:P15~16 关键字、特定字、标识符 7. 设已定义 int a, *p; 下列赋值表达式中正确的是( C )。 A *p=a B p=*a C p=&a D *p=&a 知识点:P180~184 指针及其运算
一、选择题(本模块每题2分, 共40分)
1. C语言程序的基本组成单位是( C )。 A 主程序 B 子程序 C 函数 D 过程 知识点:P5~7 C语言程序的基本构成。 2. 下列合法的字符常量是( D )。 A "c" B c C 'char' D '\n' 知识点:P20~25 常量
3. 设有定义:char x[ ]= "abcd"; 则( B )。 A 数组x的长度为4 B 数组x的长度为5 C 定义数组时缺省长度, 默认为255 D 定义数组时缺省长度, 出错 知识点:P151~154 C字符型数组及字符串 4. 关于C语言变量的叙述, 正确的是( C )。 A 变量名中的英文字母不区分大小写 B 如果定义变量时没初始化, 其值设置为0 C 可以输出变量的地址 D 变量的数据类型决定变量的作用域 知识点:P25~27 变量; P180 指针; P121~127 变量作用域及存储类别
知识点: P105 P110 P112
函数定义 函数的声明与函数原型 函数的返回值
四、设计题(本模块共36分, 每题9分)
1. 请在考生文件夹下的prog1.cpp文件中编写程序, 输入一 个3位的整数, 如果该数的个位数和百位数相同, 则输出“回 文数”, 否则输出“不是回文数”。 //prog1.cpp #include<stdio.h> void main() { int n; printf("请输入一个3位的整数: "); scanf("%d",&n); if (n%10==n/100) printf("回文数\n"); else printf("不是回文数\n"); }
14. 设已定义 char str[6]={ 'a ', 'b ', '\0 ', 'c ', 'd ', '\0 ' }; 执行 语句printf("%s", str);后, 输出结果为( B )。 A a B ab C abcd D ab\0cd\0 知识点:P153~154 字符数组的输入、输出 15. 执行下面语句后, b[4]的值为( D )。 int b[5], i; for (i=0; i<=4; i++) b[i]=i*3; A 0 B 4 C 1 D 12 知识点:P78~79 for语句; P142 数组的引用
8. 下列叙述错误的是( C )。 A 形参是局部变量 B 全局变量不一定在所有的函数中有效 C 主函数中定义的变量在整个程序中都是有效的 D 其他函数中定义的变量在主函数中不能使用 知识点:P121~124 局部变量及全局变量 9. 设有如下的函数定义:void ggg(float x) { return x*x; } 则函数返回值的类型是( B )。 A 与参数x的类型相同 B 是void C 是int D 出错 知识点:P105~107 函数定义
10. 当全局变量与函数内部的局部变量同名时, 则在函数内部 ( A )。 A 局部变量有效, 全局变量被暂时屏蔽 B 全局变量有效, 局部变量无效 C 全局变量与局部变量都有效, 全局变量的值被局部变量修改 D 全局变量和局部变量不能同名 知识点:P121~124 全局变量及局部变量 11. 下列关于函数的描述中, 错误的是( A )。 A 函数必须返回一个值 B 函数的类型可以缺省定义 C 函数可以没有参数 D 函数可以包含多个return语句 知识点:P105~113 函数的定义、调用、返回值
16. 设已定义 int x=8, *p=&x; 则printf("%d\n", *p); 的输出结 果为( B )。 A x的地址 B 8 C p的值 D p的地址 知识点:P180~184 指针及其运算 17. 已知有宏定义 #define M 1+2, 则表达式2*M*3的值是( B )。 A 18 B 8 C 6 D 12 知识点:P130~134 宏(不带参数及带参数)定义宏展开 18. x=8; 则关系表达式0<=x<=3的值为( C )。 A true B false C 1 D 0 知识点:P57~59 关系表达式及逻辑表达式
//定义一个函数fun(a), 函数返回正整数a的位数, 在主函数中输入一个正整数, //调用fun函数, 输出该数的位数。 #include<stdio.h> // int fun(int a); // int fun( int ); void main( ) { // int fun(int a); // int fun( int ); int a, k; printf("请输入一个正整数:"); scanf("%d", &a); k=fun(a); printf("%d的位数是%d\n", a, k); } int fun( a) // int fun(int a) { int i=0; while(a) { a=a/10; i++; } return // return i; }