c语言printf输出格式程序设计 改正错误 使程序运行时输出结果如下

谭浩强《C语言程序设计》课件_课件下载
谭浩强《C语言程序设计》课件
声明:本课件在电脑上可正常浏览,在手机或平板电脑上只能浏览到简介。谭浩强《C语言程序设计》课件的内容简介:
谭浩强《c程序设计》课件1C语言概述1.1C语言的发展过程C语言是在70年代初问世的。一九七八年由美国电话电报公司贝尔实验室正式发表了C语言。但是并没有定义一个完整的标准C语言,后来由美国国家标准协会在此基础上制定了一个C语言标准,于一九八三年发表。通常称之为ANSIC。1.2当代最优秀的程序设计语言早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用,成为当代最优秀的程序设计语言之一。1.3C语言版本目前最流行的C语言有以下几种:这些C语言版本不仅实现了ANSIC标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。1.4C语言的特点1&C语言简洁、紧凑,使用方便、灵活。9种控制语句,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分。TurboC扩充了11个关键字:注意:在C语言中,关键字都是小写的。2&运算符丰富。共有34种。C把括号、赋值、逗号等都作为运算符处理。从而使C的运算类型极为丰富,可以实现其他高级语言难以实现的运算。3&数据结构类型丰富。4&具有结构化的控制语句。5&语法限制不太严格,程序设计自由度大。6&C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此有人把它称为中级语言。7&生成目标代码质量高,程序执行效率高。8&与汇编语言相比,用C语言写的程序可移植性好。但是,C语言对程序员要求也高,程序员用C写程序会感到限制少、灵活性大,功能强,但较其他高级语言在学习上要困难一些。1.5面向对象的程序设计语言在C的基础上,一九八三年又由贝尔实验室的推出了C++。C++进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。C++目前流行的最新版本。C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。1.6C和C++C是C++的基础,C++语言和C语言在很多方面是兼容的。因此,掌握了C语言,再进一步学习C++就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目的。1.7简单的C程序介绍为了说明C语言源程序结构的特点,先看以下几个程序。这几个程序由简到难,表现了C语言源程序在组成结构上的特点。虽然有关内容还未介绍,但可从这些例子中了解到组成一个C源程序的基本部分和书写格式。【例1.1】main(){printf(&世界,您好!\n&);}?main是主函数的函数名,表示这是一个主函数。?每一个C源程序都必须有,且只能有一个主函数(main函数)。?函数调用语句,printf函数的功能是把要输出的内容送到显示器去显示。?printf函数是一个由系统定义的标准函数,可在程序中直接调用。【例1.2】#include#includemain(){doublex,s;printf(&inputnumber:\n&);scanf(&%lf&,&x);s=sin(x);printf(&sineof%lfis%lf\n&,x,s);}?include称为文件包含命令?扩展名为.h的文件称为头文件?定义两个实数变量,以被后面程序使用?显示提示信息?从键盘获得一个实数x?求x的正弦,并把它赋给变量s?显示程序运算结果?main函数结束程序的功能是从键盘输入一个数x,求x的正弦值,然后输出结果。在main()之前的两行称为预处理命令(详见后面)。预处理命令还有其它几种,这里的include称为文件包含命令,其意义是把尖括号&&或引号&&内指定的文件包含到本程序来,成为本程序的一部分。被包含的文件通常是由系统提供的,其扩展名为.h。因此也称为头文件或首部文件。C语言的头文件中包括了各个标准库函数的函数原型。因此,凡是在程序中调用一个库函数时,都必须包含该函数原型所在的头文件。在本例中,使用了三个库函数:输入函数scanf,正弦函数sin,输出函数printf。sin函数是数学函数,其头文件为math.h文件,因此在程序的主函数前用include命令包含了math.h。scanf和printf是标准输入输出函数,其头文件为stdio.h,在主函数前也用include命令包含了stdio.h文件。需要说明的是,C语言规定对scanf和printf这两个函数可以省去对其头文件的包含命令。所以在本例中也可以删去第二行的包含命令#include。同样,在例1.1中使用了printf函数,也省略了包含命令。在例题中的主函数体中又分为两部分,一部分为说明部分,另一部为分执行部分。说明是指变量的类型说明。例题1.1中未使用任何变量,因此无说明部分。C语言规定,源程序中所有用到的变量都必须先说明,后使用,否则将会出错。这一点是编译型高级程序设计语言的一个特点,与解释型的BASIC语言是不同的。说明部分是C源程序结构中很重要的组成部分。本例中使用了两个变量x,s,用来表示输入的自变量和sin函数值。由于sin函数要求这两个量必须是双精度浮点型,故用类型说明符double来说明这两个变量。说明部分后的四行为执行部分或称为执行语句部分,用以完成程序的功能。执行部分的第一行是输出语句,调用printf函数在显示器上输出提示字符串,请操作人员输入自变量x的值。第二行为输入语句,调用scanf函数,接受键盘上输入的数并存入变量x中。第三行是调用sin函数并把函数值送到变量s中。第四行是用printf函数输出变量s的值,即x的正弦值。程序结束。运行本程序时,首先在显示器屏幕上给出提示串inputnumber,这是由执行部分的第一行完成的。用户在提示下从键盘上键入某一数,如5,按下回车键,接着在屏幕上给出计算结果。1.8输入和输出函数在前两个例子中用到了输入和输出函数scanf和printf,在以后要详细介绍。这里我们先简单介绍一下它们的格式,以便下面使用。scanf和printf这两个函数分别称为格式输入函数和格式输出函数。其意义是按指定的格式输入输出值。因此,这两个函数在括号中的参数表都由以下两部分组成:&格式控制串&,参数表格式控制串是一个字符串,必须用双引号括起来,它表示了输入输出量的数据类型。各种类型的格式表示法可参阅第三章。在printf函数中还可以在格式控制串内出现非格式控制字符,这时在显示屏幕上将原文照印。参数表中给出了输入或输出的量。当有多个量时,用逗号间隔。例如:printf(&sineof%lfis%lf\n&,x,s);其中%lf为格式字符,表示按双精度浮点数处理。它在格式串中两次现,对应了x和s两个变量。其余字符为非格式字符则照原样输出在屏幕上。【例1.3】intmax(inta,intb);/*函数说明*/main()/*主函数*/{intx,y,z;/*变量说明*/intmax(inta,intb);/*函数说明*/printf(&inputtwonumbers:\n&);scanf(&%d%d&,&x,&y);/*输入x,y值*/z=max(x,y);/*调用max函数*/printf(&maxmum=%d&,z);/*输出*/}intmax(inta,intb)/*定义max函数*/{if(a&b)/*把结果返回主调函数*/}上面例中程序的功能是由用户输入两个整数,程序执行后输出其中较大的数。本程序由两个函数组成,主函数和max函数。函数之间是并列关系。可从主函数中调用其它函数。max函数的功能是比较两个数,然后把较大的数返回给主函数。max函数是一个用户自定义函数。因此在主函数中要给出说明(程序第三行)。可见,在程序的说明部分中,不仅可以有变量说明,还可以有函数说明。关于函数的详细内容将在以后第五章介绍。在程序的每行后用/*和*/括起来的内容为注释部分,程序不执行注释部分。上例中程序的执行过程是,首先在屏幕上显示提示串,请用户输入两个数,回车后由scanf函数语句接收这两个数送入变量x,y中,然后调用max函数,并把x,y的值传送给max函数的参数a,b。在max函数中比较a,b的大小,把大者返回给主函数的变量z,最后在屏幕上输出z的值。1.9C源程序的结构特点一个C语言源程序可以由一个或多个源文件组成。每个源文件可由一个或多个函数组成。一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。源程序中可以有预处理命令(include命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号&}&之后不能加分号。标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。1.10书写程序时应遵循的规则从书写清晰,便于阅读,理解,维护的角度出发,在书写程序时应遵循以下规则:一个说明或一个语句占一行。用{}括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。1.11C语言的字符集字符是组成语言的最基本的元素。C语言字符集由字母,数字,空格,标点和特殊字符组成。在字符常量,字符串常量和注释中还可以使用汉字或其它可表示的图形符号。字母小写字母a~z共26个大写字母A~Z共26个数字0~9共10个空白符空格符、制表符、换行符等统称为空白符。空白符只在字符常量和字符串常量中起作用。在其它地方出现时,只起间隔作用,编译程序对它们忽略不计。因此在程序中使用空白符与否,对程序的编译不发生影响,但在程序中适当的地方使用空白符将增加程序的清晰性和可读性。标点和特殊字符1.12C语言词汇在C语言中使用的词汇分为六类:标识符,关键字,运算符,分隔符,常量,注释符等。标识符在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。C规定,标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。以下标识符是合法的:a,x,x3,BOOK_1,sum5以下标识符是非法的:3s以数字开头s*T出现非法字符*-3x以减号开头bowy-1出现非法字符-(减号)在使用标识符时还必须注意以下几点:标准C不限制标识符的长度,但它受各种版本的C语言编译系统限制,同时也受到具体机器的限制。例如在某版本C中规定标识符前八位有效,当两个标识符前八位相同时,则被认为是同一个标识符。(2)在标识符中,大小写是有区别的。例如BOOK和book是两个不同的标识符。(3)标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便于阅读理解,作到&顾名思义&。关键字关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应与关键字相同。C语言的关键字分为以下几类:类型说明符用于定义、说明变量、函数或其它数据结构的类型。如前面例题中用到的int,double等语句定义符用于表示一个语句的功能。如例1.3中用到的ifelse就是条件语句的语句定义符。预处理命令字用于表示一个预处理命令。如前面各例中用到的include。运算符C语言中含有相当丰富的运算符。运算符与变量,函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。分隔符在C语言中采用的分隔符有逗号和空格两种。逗号主要用在类型说明和函数参数表中,分隔各个变量。空格多用于语句各单词之间,作间隔符。在关键字,标识符之间必须要有一个以上的空格符作间隔,否则将会出现语法错误,例如把写成C编译器会把inta当成一个标识符处理,其结果必然出错。常量C语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、转义字符等多种。在后面章节中将专门给予介绍。注释符C语言的注释符是以&/*&开头并以&*/&结尾的串。在&/*&和&*/&之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。注释用来向用户提示或解释程序的意义。在调试程序中对暂不使用的语句也可用注释符括起来,使翻译跳过不作处理,待调试结束后再去掉注释符。1.13TurboC2.0集成开发环境的使用1.13.1TurboC2.0简介和启动我们上机实习和将来考试都是使用BorlandTurboC2.0这个版本。该系统是DOS操作系统支持下的软件,在windows98环境下,可以在DOS窗口下运行。我们机房是在D盘根目录下建立一个TC子目录下安装TurboC2.0系统的。TC下还建立了两个了目录LIB和INCLUDE,LIB子目录中存放库文件,INCLUDE子目录中存放所有头文件。在DOS环境下或在windows98的DOS窗口下运行运行TurboC2.0时,只要在TC子目录下键入TC并回车即可进入TurboC2.0集成开发环境。在windows98环境下,也可以选运行菜单,然后键入d:\tc\tc即可,也可以在tc文件夹找到tc.exe文件,然后用鼠标双击该文件名也可进入TurboC2.0集成开发环境。TurboC是美国Borland公司的产品,Borland公司是一家专门从事软件开发、研制的大公司。该公司相继推出了一套Turbo系列软件,如TurboBASIC,TurboPascal,TurboProlog,这些软件很受用户欢迎。该公司在1987年首次推出TurboC1.0产品,其中使用了全然一新的集成开发环境,即使用了一系列下拉式菜单,将文本编辑、程序编译、连接以及程序运行一体化,大大方便了程序的开发。1988年,Borland公司又推出TurboC1.5版本,增加了图形库和文本窗口函数库等,而TurboC2.0则是该公司1989年出版的。TurboC2.0在原来集成开发环境的基础上增加了查错功能,并可以在Tiny模式下直接生成.COM(数据、代码、堆栈处在同一64K内存中)文件。还可对数学协处理器(支持/80387等)进行仿真。Borland公司后来又推出了面向对象的程序软件包TurboC++,它继承发展TurboC2.0的集成开发环境,并包含了面向对象的基本思想和设计方法。1991年为了适用Microsoft公司的Windows3.0版本,Borland公司又将TurboC++作了更新,即TurboC的新一代产品BorlandcC++也已经问世了。1.13.2TurboC2.0集成开发环境进入TurboC2.0集成开发环境中后,屏幕上显示:(图略)其中顶上一行为TurboC2.0主菜单,中间窗口为编辑区,接下来是信息窗口,最底下一行为参考行。这四个窗口构成了TurboC2.0的主屏幕,以后的编程、编译、调试以及运行都将在这个主屏幕中进行。主菜单在TurboC2.0主屏幕顶上一行,显示下列内容:FileEditRunCompileProjectOptionsDebugBreak/watch除Edit外,其它各项均有子菜单,只要用Alt加上某项中第一个字母,就可进入该项的子菜单中。1.13.3File菜单按Alt+F可进入File菜单,如图(略):File菜单的子菜单共有9项,分别叙述如下:1.Load:装入一个文件,可用类似DOS的通配符(如*.C)来进行列表选择。也可装入其它扩展名的文件,只要给出文件名(或只给路径)即可。该项的热键为F3,即只要按F3即可进入该项,而不需要先进入File菜单再选此项。2.Pick:将最近装入编辑窗口的8个文件列成一个表让用户选择,选择后将该程序装入编辑区,并将光标置在上次修改过的地方。其热健为Alt-F3。3.New:新建文件,缺省文件名为NONAME.C,存盘时可改名。4.Save:将编辑区中的文件存盘,若文件名是NONAME.C时,将询问是否更改文件名,其热键为F2。5.Writeto:可由用户给出文件名将编辑区中的文件存盘,若该文件已存在,则询问要不要覆盖。6.Directory:显示目录及目录中的文件,并可由用户选择。7.Changedir:显示当前默认目录,用户可以改变默认目录。8.Osshell:暂时退出TurboC2.0到DOS提示符下,此时可以运行DOS命令,若想回到TurboC2.0中,只要在DOS状态下键入EXIT即可。9.Quit:退出TurboC2.0,返回到DOS操作系统中,其热键为Alt+X。
课件下载:
页数:150页
课件大小:0.15 MB
上传时间: 23:50:17
下载次数:
所需金币:0个
你可能感兴趣的,与“谭浩强《C语言程序设计》课件”相关的内容
课件标题:
课件地址:
搜索范围:百度 本站
相关课件下载豆丁微信公众号
君,已阅读到文档的结尾了呢~~
C语言程序设计上机指导书及答案答案,C,实验,上机实验,实验指导书,C程序,指导书,实验指导,c语言吧,c语言上机
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
C语言程序设计上机指导书及答案
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口C语言程序设计试题及参考答案
阳光网【C语言试题】 编辑:admin
  C语言具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。以下是由阳光网小编整理关于C语言程序设计试题的内容,希望大家喜欢!
  C语言程序设计试题及答案(一)
  一、单项选择题(20分,每题2分)
  1.以下叙述中错误的是。C
  A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
  B)数组名代表的是数组所占存储区的首地址,其值不可改变
  C)当程序执行时,数组元素的下标越界时,系统给出&下标越界&的出错信息
  D)可以通过赋初值的方式确定数组元素的个数
  2.以下叙述中,正确的是:C
  A)continue和break语句只能用于循环体内
  B)continue和break语句只能用于分支语句中
  C)continue语句只能用于循环体内
  D)continue语句只能用于分支语句中
  3.执行下列程序段后,正确的结果是 C
  char x[8] = {8,7,6,5,0,0}, *s;
  s = x+1;
  printf(&%d\n&, s[2]);
  A) n B) 0 C) 5 D) 6
  4.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:A
  A)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式
  5.变量的指针,其含义是指该变量的 B
  A)值 B)地址 C)名 D)一个标志
  6.执行下列程序段后,正确的结果是A
  int i=5;
  while(i=1)
  printf(&%d&,i)
  A) 5 B) 0 C) 1 D) 无限循环
  7.for(i=0;i&10;i++) A
  if(i〈=5)
  则循环结束后i的值为
  A)0 B)1 C)5 D)10
  8.执行下列程序段后,正确的结果是C
  char x[8] = {8,7,6,5,0,0}, *s;
  s = x+1;
  printf(&%d\n&, s[2]);
  A) n B) 0 C) 5 D) 6
  9.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:A
  A)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式
  10.设有数组定义:char str[]=&China&;则下面的输出为B
  printf(&%d&,strlen(str));
  A)4 B)5 C)6 D)7
  二、填空题(30分,每空2分)
  1.C语言提供的三种逻辑运算符是__&&___、__||___和__!__。
  2.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33&回车&,则输出结果是 1 B 。
  #include &stdio.h&
  main()
  char a,b;
  a=getchar();
  scanf(&%d&,&b);
  a=a-'A'+'0';
  b=b*2;
  printf(&%c %c\n&,a,b);
  3.以下程序运行后的输出结果是 4 3 5 。
  main()
  int a=3,b=4,c=5,t=99;
  if(b&a && a&c) { t=a;a=c;c=t;}
  if(a&c && b&c) {t=b;b=a;a=t;}
  printf(&%d %d %d\n&,a,b,c);
  4.下面程序将字符数组a复制到字符数组b中。
  main()
  char a[]=&I am a boy.&,b[20];
  for(i=___0____;a[i]!='\0';i++)
  ____ b[i]=a[i]____;
  _____ b[i]= '\0'____;
  5.若有定义:double x[3][5];
  则x数组行下标的上限是__0___,列下标的下限是__4___。
  6.以下程序运行后的输出结果是 101 。
  #define S(x) 4*(x)*(x)+1
  main()
  int i=2,j=3;
  printf(&%d\n&,S(i+j));
  7.若有定义:double x[3][5];
  则x数组行下标的上限是_0____,列下标的下限是_4___。
  8.已知宏定义#define s 2+3
  printf(&%d&,s*4);的输出结果是__14_____。
  9.若有int a[3][2] = {{1},{3,2},{4,5}};,则a[1][1]的值是 2 。
  三、写出程序的运行结果(30分,每题10分)
  1.写出程序运行后的输出结果。
  int f(int b[][4])
  int i,j,s=0;
  for(j=0;j&4;j++)
  if(i&2)
  i=3-j;
  s+=b[i][j];
  main( )
  int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};
  printf(&%d\n&,f(a));
  2.写出程序运行结果
  #include &stdio.h&
  main()
  int i=10,j=0;
  j=j+i;
  }while(i&2);
  printf(&%d\n&,j);
  3.写出程序运行后的输出结果。
  int f(int b[][4])
  int i,j,s=0;
  for(j=0;j&4;j++)
  if(i&2)
  i=3-j;
  s+=b[i][j];
  main( )
  int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};
  printf(&%d\n&,f(a));
  四、编程(完形填空)(20分,每题10分)
  1.打印所有水仙花数,所谓水仙花数是指一个三位数,其各位数的立方和等于其本身。
  include &stdio.h&
  main()
  int i,j,k,m;
  for(i=100; i&1000; i++)
  j=i/100;
  k= i/10 ;
  if( j*100+k*10+m==m*m*m+j*j*j+k*k*k )
  printf(&%d\n&, i);
  2.以下程序计算某年某月有几天,1、3、5、7、8、10、12月有31天,4、6、9、11月有30天,2月为28天、闰年2月为29天。
  main()
  int yy,mm,
  scanf(&%d%d&,&yy,&mm);
  switch(_mm__)
  case1:
  case3:
  case5:
  case7:
  case8:
  case10:
  case12: day=__31_;
  case4:
  case6:
  case9:
  case11: day=__30___;
  case2: if(((yy%4==0)__&&___(yy0!=0))__||__(yy@0==0))
  day=29;
  day=28;
  C语言程序设计试题及答案(二)
  1. 若有定义&float x=1.5;int a=1,b=3,c=2;&,则正确的switch语句是() (2分)
  A.switch(x)
  case 1.0: printf(&* &);
  case 2.0 printf(&** &);
  B.switch((int)x)
  case 1.0: printf(&* &);
  case 2.0 printf(&** &);
  C.switch(a+b)
  case 1: printf(&* &);
  case 2+1: printf(&** &);
  D.switch(a+b)
  case 1: printf(&* &)
  case c: printf(&** &);
  标准答案:C
  2. 若有宏定义如下:
  #define X 5
  #define Y X+1
  #define Z Y*X/2
  则执行以下printf语句后,输出的结果是( )
  printf(&%d &,Z);
  printf(&%d&,--a); (2分)
  A.7,6 B.12,6 C.12,5 D.7,5
  标准答案:D
  3. 下面的符号常量定义中,正确的是 ( ) (2分)
  A.#define PI 3.14; B.#include PI 3.14;
  C.#define PI=3.14 D.#define PI 3.14
  标准答案:D
  4. 以下程序的输出结果是( )
  int a,
  void fun()
  { a=100; b=200; }
  main()
  { int a=5, b=7;
  fun();
  printf(&%d%d &, a,b);
  } (2分)
  A.100200 B.57 C.200100 D.75
  标准答案:D
  5. 若有以下调用语句,则不正确的fun函数的首部是( )
  main()
  int a[50],n;
  fun(n, &a[9]);
  } (2分)
  A.void fun(int m, int x[])
  B.void fun(int s, int h[41])
  C.void fun(int p, int *s)
  D.void fun(int n, int a)
  标准答案:D
  6. 以下程序的输出结果是( )
  fun(int x, int y, int z)
  { z=x*x+y*y; }
  main()
  { int a=31;
  fun(5,2,a);
  printf(&%d&,a);
  } (2分)
  A.0 B.29 C.31 D.无定值
  标准答案:C
  7. 以下只有在使用时才为该类型变量分配内存的存储类说明是( ) (2分)
  A.auto和static B.auto和register
  C.register和static D.extern和register
  标准答案:B
  8. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( ) (2分)
  A.地址传递
  B.单向值传递
  C.由实参传给形参,再由形参传回实参
  D.传递方式由用户指定
  标准答案:B
  9. 以下函数值的类型是( )
  fun ( float x )
  y= 3*x-4;
  } (2分)
  A.int B.不确定 C.void D.float
  标准答案:A
  10. C语言规定函数的返回值的类型是由( ) (2分)
  A.return语句中表达式类型决定
  B.调用该函数时的主调函数类型决定
  C.调用该函数时系统临时决定
  D.在定义该函数时所指定的函数类型决定
  标准答案:D
  11. 若有说明:int i,j=7, *p=&i; 则与i=j;等价的语句是( ) (2分)
  A.i= *P; B.*p=*&j; C.i=&j; D.i=* *p;
  标准答案:B
  12. 以下程序执行后a的值是( )
  main()
  { int a,k=4,m=6,*p1=&k,*p2=&m;
  a=p1==&m;
  printf(&%d &,a);
  } (2分)
  A.4 B.1 C.0 D.a无定值
  标准答案:D
  13. 若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是( ) (2分)
  A.*p=&a;scanf(&%ld&,p);
  B.p=(long *)malloc(8);scanf(&%ld&,p);
  C.scanf(&%ld&,p=&a);
  D.scanf(&%ld&,&a);
  标准答案:A
  14. 以下程序的输出结果是( )
  #include
  int a[3][3]={1,2,3,4,5,6,7,8,9,},*p;
  main()
  {p=(int *)malloc(sizeof(int));
  f(p,a);
  printf(&%d &,*p);
  f(int *s,int p[][3])
  {*s=p[1][1];} (2分)
  A.1 B.4 C.7 D.5
  标准答案:D
  15. 设已有定义: char *st=&how are you&; 下列程序段中不正确的是( ) (2分)
  A.char a[12], *p; strcpy(p=a+1,&st[4]);
  B.char a[12]; strcpy(++a, st);
  C.char a[12]; strcpy(a, st);
  D.char a[12], *p; strcpy(p=&a[1],st+2);
  标准答案:B
  18. 以下程序的输出结果是_____ B___。
  main()
  char cf[3][5]={&AAAA&,&BBB&,&CC&};
  printf(&&%s& &,ch[1]);
  } (2分)
  A.&AAAA& B. &BBB& C.&BBBCC& D.&CC&
  标准答案:B
  19. 以下程序的输出结果是_______。
  main()
  int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;
  for(i=0;i for(j=i;j printf(&%d &,t);
  } (2分)
  A.3 B.4 C.1 D.9
  标准答案:B
  20. 在下列变量中,()不是局部变量 (2分)
  A.register类 B.外部static类
  C.auto类 D.函数形参
  标准答案:B
看过&C语言程序设计试题及参考答案&的人还看了:
[C语言程序设计试题及参考答案]相关的文章
【C语言试题】图文推荐}

我要回帖

更多关于 c语言逆序输出数字 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信