全国计算机二级C基础知识重点讲解_第1页
全国计算机二级C基础知识重点讲解_第2页
全国计算机二级C基础知识重点讲解_第3页
全国计算机二级C基础知识重点讲解_第4页
全国计算机二级C基础知识重点讲解_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

10/29全国计算机等级考试二级C根底学问重点讲解第一章程C本章考纲:程序的构成,main函数和其他函数。头文件,数据说明,函数的开头和完毕标志以及程序中的注释。源程序的书写格式。本章学问要点:了解程序设计的根本概念熟记计算机语言的分类重点把握算法的概念及特性重点把握C程序构成及书写格式本章考试方式:笔试〔4〕本章内容:一、程序:是指可以被计算机连续执行的一条条指令的集合,是人与机器进展对话的语言。用程序设计语言编写程序的过程称为程序设计。二、计算机语言是人与计算机进展沟通的工具。分为机器语言、汇编语言和高级语言。三、算法:是为解决一个问题而实行的方法和步骤,可以承受伪代码、流程多个输入、一个或多个输出的特性。四、 三种根本的掌握构造:挨次、选择、循环构造。五、CC。一个C一个主函数mainmainC是从main开头到main完毕函数。构成:编译预处理命令返回值类型函数名称〔形参类型形参〕{…*/执行语句}……书写格式:标识符区分大小写,一般变量承受小写,符号常量承受大写。C语句用分号〔〕能加分号。六、 上机步骤及开发环境编辑源程序,源程序以“.c”作为扩展名编译,将源程序转换成目标代码,形成“.obj”的二进制文件“.exe”运行考试真题:1、以下表达中错误的选项是〔D〕——2006444C.obj令文件ASCII件中C器指令2、以下表达中错误的选项是〔B〕——2006445算法正确的程序最终肯定会完毕算法正确的程序可以有零个输出算法正确的程序可以有零个输入算法正确的程序对于一样的输入肯定有一样的结果3、以下表达中错误的选项是〔A〕——2006911一个C语言程序只能实现一种算法CC一个C函数可以单独作为一个C程序文件存在4、以下表达中正确的选项是〔D〕——2006912每个C程序文件中都必需要有一个main〔〕函数Cmain〔〕函数的位置是固定的CC于算法的〔C〕——2007411正值性可行性确定性有穷性6、以下表达中错误的选项是〔D〕——2007412计算机不能直接执行用C语言编写的源程序CC.obj.exe件后缀为.obj.exe7、以下表达中错误的选项是〔C〕——2007414C构造化程序由挨次、分支、循环3种根本构造组成使用3种根本构造构成的程序只能解决简洁问题构造化程序设计提倡模块化的设计方法8、对于一个正常运行的C〔A〕—2007415程序的执行总是从main函数开头,在main函数完毕程序的执行总是从程序的第一个函数开头,在main函数完毕程序的执行总是从main函数开头,在程序的最终一个函数中完毕9、C〔B〕——2007911.exe.c.obj.cp10、以下表达中正确的选项是〔C〕——2007914C行CmainMain其次章数据类型及运算〔记忆加理解〕本章考纲:C〔根本类型、构造类型、指针类型、空类型〕及定义方法。C不同类型数据间的转换与运算表达式、逗号表达式〕和求值规章。本章学问要点:重点把握标识符的合法性推断,符号常量的使用示方法熟记字符常量和字符串常量的表示,重点把握字符运算原理重点把握数据类型的转换原理及执行过程重点把握算术运算符的分类及运算符的优先级和结合性重点把握复合的赋值表达式及表达式类型转换重点把握自增自减运算符的用法〔优先级、结合性和执行过程〕重点把握逗号运算符的执行过程本章考试方式:笔试〔16分〕+上机〔5分〕本章内容:言中的关键字不能用作其他用途,如不能用作变量或函数名。以下选项中合法的标识符是〔2009年以下选项中合法的标识符是〔2009年3月〕A〕1_1B〕1-1C〕_11D〕1 以下选项中不合法的标识符是〔2008年4月〕A)printB)FORC)&aD)_00可在C程序中用做用户标识符的一组标识符是〔2007年9月〕〕d 〕e 〕i 〕_2007 y-m-d Dr.Tom Bigl4〕〔2007依据4〕〔2007A〕B〕C〕D〕下划线以下不合法的用户标识符是〔2006年4月〕A〕j2_KEY B〕Double C)4d D)_8_二、常量和变量符号常量的表示:#define标识符常量#definePI3.14159/*PI就是一个符号常量,代表3.14159 main{floatr,area;r=3;area=PI*r*r;printf(“\narea=%f“,area);}的内容就是变量值,通过变量名来引用变量的值。三、整型数据整型常量有3种表示方法:八进制表示法:014,0770xA0Fu〔U〕表示。整型变量分为以下3类:intVC642longintlong4unsigned,将变量定义为无符号型。四、实型数据实型常量有两种表示方式:3.1415、0.123、.145、34.、123f指数形式:6.0E3〔E或e之前必需有数,之后必需是整数〕3float46-7double815-16longdouble1618-19五、字符型数据(在内存中存放的是字符量的ASCII码)〔转义字符,’a’、’\n’C符值,也允许对字符变量赋整型值。main{charc1,c2;c1=”a”;c2=”b”;c1=c1-32;c2=c2-32;printf(“%c%c\n“,c1,c2);printf(“%d%d“,c1,c2);以下选项中不属于字符常量的是〔2008年以下选项中不属于字符常量的是〔2008年4月〕A)”C”B)“C“C)”\xCC0”D)”\072”以下合法的字符常量的是A)”\x13”B)’\081’C)”65”D)”\n”转义算一个字符大写字母A的ASCII码是65,小写字母a的ASCII码是97。以下不能将变量c中的大写字母转换为对应小写字母的语句是〔2007年4月〕A)c=(c-‘A’)%26+’a’ B)c=c+32D)c=(‘A’+c)%26-‘a’以下选项中,值为1的表达式 。〔2006年9月〕A〕1-‘0’B〕1-‘\0’ C〕’1’-0D〕’\0’-‘0’六、字符串常量:用一对双撇号括起来的零个或多个字符序列。如:”china”\0’作为字符串的完毕6C量,对字符串的处理都是通过字符数组来完成。以下选项中,能用作数据常量的是〔2009以下选项中,能用作数据常量的是〔2009年3月〕A〕o115B〕0118C〕1.5e1.5D〕115LA01158o开头就成了变量名0~7,于是错误C1.51.5错误,只能为整数DL代表长型,115L则表示长整型,因此正确以下选项中不能作为C语言合法常量的是〔。A〕”cd”B〕0.1e+6C〕“\a“D〕”\011”以下不合法的数值常量是A〕011B〕lelC)8.0E0.5 D)0xabcdC源程序中不能表示的数制是〔。〔2008年9月〕B〕C〕D〕十六进制%d%d十进制,%o八进制,%x十六进制以下关于long、int和short类型数据占用内存大小的表达中正确的选项是〔2007年9月〕〔2007年9月〕均占4B〕依据数据的大小来打算所占内存的字节数C〕由用户自己定义D〕C语言编译系统打算以下选项中,合法的一组C语言数值常量是〔2007年9月〕A)028B)12.C).177D)0x8A.5e-30Xa234e1.510,000-0xf4.5e00abc3.e5AA中028是八进制,不该消灭8,C中4e1.5错了,e后面不该是小数,D中10,000错误,没有这种写法。没有这种写法。七、变量的定义变量定义形式:数据类型 如:int sum,a;float char c;定义时可以初始化,如:int sum=0,a=1;float char c=’a’;此赋初值错误:int sum=a=1;赋初值只能对单个变量进展。以下选项中正确的定义语句是〔。〔2008年9月〕a=7,b=7;D〕double,a,b;以下定义语句中正确的选项是〔2008年以下定义语句中正确的选项是〔2008年4月〕A)inta=b=0;B)charA=65+1,b=”b”;C)floata=1,*b=&a,*c=&b;C)floata=1,*b=&a,*c=&b;D)doublea=0.0;b=1.1;Abinta,ba=b=0;B正确Cconvertfrom”float**”to”float*Ddoublea=0.0,b=1.1;把分号改为逗号以下定义变量的语句中错误的选项是 。〔2006年9月〕A〕int _int;B〕doubleint_; C〕charFor;D〕floatUS$八、不同数据类型之间的转换教高类型〔此过程编译系统自动完成。类型转换图:

double floatlonglongunsignedintunsignedintchar,short〔类型说明符〔表达式double〕a;〔int〔x+y;〔int〕x+y;main{floatx;inti;x=3.6;i=(int)x;printf(“x=%f,i=%d“,x,i);}x=3.600000,i=3main{floatx,y;inti,j;x=3.6;y=3.8;i=(int)x+(int)y;j=(int)(x+y);printf(“i=%f,j=%d“,i,j);}九、算术运算符加+、减〔-、乘〔*、除〔/、求余〔%、自增++、自减〔--〕注:当两个整数进展除法运算时,得到的结果仍旧为整数,如5/2=2,要想得到小数,必需将分子或分母中的任意一个转换成浮点数,如1.0/2=0.5。求余运算要求两侧的操作数均为整型。符是右结合性外,其他运算都是左结合性。表达式〔int〕〔〔double〕〔5/2〕+2.5〕的值是【6】〔200表达式〔int〕〔〔double〕〔5/2〕+2.5〕的值是【6】〔2009年3月〕答案:4以下不能正确表示代数式2ab/cd〔2008年9月〕C语言表达式是〔。A〕2*a*b/c/dB〕a*b/c/d*2C〕a/c/d*b*2D〕2*a*b/c*dx10的表达式A)x%2==1B)x/2C)x%2!=0D)x%2==0表达式3.6-5/2+1.2+5%2的值是〔2006年4月〕A〕4.3 B)4.8 C)3.3 D)3.8十、赋值运算符合表达式C如:a=5;b=c=8;设变量已正确定义并赋值,以下正确的表达式是〔2008年4月〕A)x=y*5=x+z设变量已正确定义并赋值,以下正确的表达式是〔2008年4月〕A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0假设变量均已正确定义并赋值,以下合法的C语言赋值语句是〔20079月〕A〕x=y==5;B)x=n%2.5;C)x+n=I;D)x=5=4+1;假设变量x、y已正确定义并赋值,以下符合C语言语法的表达式是 。〔20069〕A〕++x,y=x--B〕x+1=y 〔20089月〕ab〔20089月〕答案:a=-b;十一、自增和自减运算1。a++,a=a+1自增和自减有两种用法:达式值参与其他运算。a++〔减1。设有定义:intx=2;,以下表达式中,值不为6〔20093月〕A〕x*=x+1B〕x++,2*xC〕x*=〔1+x〕D〕2*x,x+=2设有定义:intk=0;,以下选项的四个表达式中与其他三个表达式的值不一样的是〔20074月〕k++B)k+=1C)++kD)k+1是后十二、逗号表达式1,23,…..,n]逗号表达式的值。#include<stdio.h>voidmain{inta,b;a=1;b=(a++,a+3);printf(“a=%d\n“,a);printf(“b=%d\n“,b);}有以下程序〔20069〕main{intx,y,z;x=y=1;z=x++,y++,++y;printf(“%d,%d,%d\n“,x,y,z);}程序运行后的输出结果是 。A〕2,3,3B〕2,3,2 C〕2,3,1D〕2,2,1〔右结合〕〔左结合〕高1级优先级左结合圆括号[]下标运算符->指向构造体成员运算符. 构造体成员运算符2级优先级右结合!规律非运算符~按位取反运算符++自增运算符--自减运算符-负号运算符(类型)类型转换运算符*指针运算符 &地址与运算符sizeof长度运算符*乘法运算符/除法运算符%取余运算符+加法运算符?减法运算符<<左移运算符>>右移运算符<、<=、>、>=关系运算符==等于运算符!=不等于运算符&按位与运算符^按位异或运算符级优先级左结合|按位或运算符级优先级左结合&&规律与运算符级优先级左结合级优先级右结合?:条件运算符1414级优先级右结合= +=-= *= /= %= >>= <<= &= ^= |=全为赋值运算符15级优先级左结合,逗号运算符设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为[]答案:3以下程序输出结果是〔以下程序输出结果是〔20074月〕Main{ inta=10;a=(3*5,a+4);printf(“a=%d\n”,a);}答案:答案:14第三章根本语句本章考纲:表达式语句、空语句、复合语句。输入输出函数的调用,正确输入数据并正确设计输出格式。本章学问要点:重点把握各种语句的使用。scanfprintf作用。printf的作用。本章考试方式:笔试〔7〕+上机〔15〕本章内容:CC5if函数调用语句,如:printf〔“thisisacprogram”〕;表达式语句:在表达式的末尾加上分号构成的语句。如:a=a+4;空语句:单独的一个分号“有时用来作流程的转向点,也可以用来作循环语句的循环体。对待,相当于一条语句。如:{z=x+y;z++;}假设函数中有定义语句:int假设函数中有定义语句:intk;,则〔20093月〕A〕k0k系统将自动给k1D〕k以下能正确定义且赋初值的语句是〔〔20059月〕A〕intn1=n2=10; B〕charc=32;C〕floatf=f+1.1; scanf〔键盘〕输入数据到计算中。一般格式:scanf(格式掌握串,地址表列)如:scanf(“%d%f%c”,&a,&b,&c);,如“%“%c”等。“地址表列”需要读入的是全部变量的地址或字符串的首地址。使用说明:求按一一对应的位置原样输入这些字符。正确的输入方式:12,35正确的输入方式:a=12,b=35如:scanf(“%4d%4d”,&a,&b);123456781234a,5678b。如:scanf(“%4c”,&ch);xyz3ch个字符,系统自动将第一个字符‘x’ch。〔空格、制表符或回车符〕隔开,间隔符数量不限,假设在格式说明中认为制定宽度时,也可以使用此方式。在%后有一个“*”附加格式字符,表示跳过它指定的列数。地址表应当是变量的地址,因此,应当在变量名前加上取地址的运算符“&”在用“%c”格式输入字符时,空格和转义字符都将作为有效字符进展输入。如:scanf(“%c%c%c”,&c1,&c2,&c3);假设输入a b后按下回车键,则c1、c2、c3的值分别为a、空格、b将留在缓冲区作为下一次输入操作的输入数据。在输入数据时,遇到以下状况时该输入完毕遇到空格,或按回车键或按跳格〔TAB〕键按指定的宽度完毕遇到非法输入假设有定义语句:double假设有定义语句:doublex,y,*px,*pypx=&x,py=&y;之后,正确的输入语句是〔20093月〕?scanf〔“%f%f”,x,y〕;scanf〔“%f%f”,&x,&y〕;C〕scanf〔“%lf%le”,px,py〕;D〕scanf〔“%lf%lf”,x,y〕;%f%f用来输入float类型变量%lfdouble类型便类%ledouble程序段:int程序段:intx=12;doubley=3.141593;printf〔“%d%8.6f”,x,y〕;的输出结果是〔20093月〕A〕123.141593B〕123.141593C〕12,3.141593D〕123.1415938.6f8,保存六位小数有以下程序〔20093月〕#include<stdio.h>main〔〕{inta1,a2;charc1,c2;scanf〔“%d%c%d%c”,&a1,&c1,&a2,&c2〕;printf〔“%d,%c,%d,%c”,&a1,c1,a2,c2〕;}a112,a234,c1a,c2的值为字符b,程序输出结果是:12,a,34,b,则正确的输入格式是〔以下_代表空格,<CR>代表回车〕A〕12a34b<CR>B〕12_a34_b<CR>C〕12,a,34,b<CR>D〕12_a34_b<CR>D〕12_a34_b<CR>假设变量已正确定义为int型,要通过语句scanf(“%d%d%d“&a,&b&c)a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的选项是〔ò代表一个空格符〔〔2008年月〕A〕òòò1,2,3<回车B〕1ò2ò3<回车>C〕1,òòò2,òòò3<回车D〕1,2,3<回车>inta,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A〕scanf(“%d“,a,b,c);B)scanf(“%d%d%d“,a,b,c);C)scanf(“%d“,p);D)scanf(“%d“,&p);有以下程序段〔2007年9月〕intj;floaty;charname[50];scanf(“%2d%f%s“,&j,&y,name);当执行上述程序段,从键盘上输入555667777abc后,y的值为A〕55566.0B〕566.0C〕7777.0D〕566777.0a1a21020,为变量c1c2XY。以下所示的输入形式正确的选项是〔注:□代表空格字符〔2007年4月〕A〕10□X□20□YB〕10□X20□Y〈回车〉各个输入之间可以是空格、回车、制表符。空格也是字符C〕10□X〈回车〉D〕10X〈回车〉20□Y〈回车〉 各个输入之间可以是空格、回车、制表符。空格也是字符设有定义:inta;floatb;执行scanf(“%2d%f“,&a,&b);语句时假设从键盘输入876543.0<回车>,a和b的值分别是 。〔2006年9月〕A〕876543.000000B〕876.000000C〕87543.000000D〕76543.000000执行以下程序时输入1234567,则输出结果是 .〔2007年9月〕main{inta=1,b;scanf(“%2d%2d“,&a,&b);printf(“%d%d\n“,a,b);}答案:1234三、printfprintf(格式掌握串,输出表列);如:printf(“a=%d,b=%d\n”,a,b);3p46输出格式中的格式说明的个数和输出表列中的数据个数应一样。双引号等。除了以上两类字符之外,在格式串中的其他字符将按原样输出。型有格式掌握串中的格式字符打算。使用说明:把握格式字符和附加格式字符的作用。的个数和输出项的个数应当一样,假设不同,系统则作以下处理:假设格式说明的个数小于输出项数,多余的数据项不显示假设格式说明的个数多于输出项数,对多余的格式将输出不定值或0值有以下程序段〔2008有以下程序段〔20084月〕charch;intk;ch=”a”;k=12;printf(“%c,%d,“,ch,ch,k);printf(“k=%d\n“,k);字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=12有以下程序,其中%u表示按无符号整数输出〔20074月〕Main{unsignedintx=0xFFFF;/*x的初值为十六进制数*/Printf(“%u\n”,x);}程序运行后的输出结果是A〕-1B〕65535C〕32767D〕0XFFFF有以下程序〔20069〕main{inta=0,b=0;a=10;/*a赋值b=20;b赋值*/printf(“a+b=%d\n“,a+b);/*输出计算结果*/}程序运行后输出结果是 。A〕 a+b=0B〕a+b=30 C〕30D〕出错留意换行符的位置留意换行符的位置x、yintx99,y9,请将输出语句printf〔【7x/y〕x/y=11〔20093月〕答案:”x/y=%d”假设整型变量a和b中的值分别为7和a和b的值:〔〔2008年9月〕a=7b=9请完成输出语句:printf【7】“,a,b);以下程序运行后的输出结果是【7main{intm=011,n=11;printf(“%d %d\n“,++m,n++);}答案:10 11假设变量a,b已定义为int类型并赋值21和5printf函数以a=21,b=55的形式输出,请写出完整的输出语句 [6] 〔2006年4月〕答案:答案:printf(“a=%d,b=%d”,a,b);getchar输入一个字符,格式为:getchar;函数值就是从输入设备得到的一个字符。说明:输入回车符时才完毕,回车前的全部字符都会逐个显示在屏幕上。个字符型变量或整型数据。putchar输出一个字符,格式为:putchar〔ch;整型。当用户要求输入的字符串中含有空格时,应使用的输入函数是〔2007年9月〕月〕最重要的区分是gets读一行,getchar读一个字符。先看原型:char最重要的区分是gets读一行,getchar读一个字符。先看原型:char*gets(char*ptr);intgetchar(void);作用是:getsstdin读入一个整行〔以”\n”EOF〕完毕,写入ptr指向的字符数组,并返回这个指针;出错或遇到文件完毕时则返回NULL。行末的”\n”从流中取出,但不写入数组。gets不检查被写入的数组大小。getcharstdin读入一个字符,并返回这个字符。假设读EOFEOF不能用chargetcharint型的数。使用时也应当留意这一点。AASCII65,以下程序运行时假设从键盘输入:B33<回车>,则输出结果是[]#include“stdio.h”Main{chara,b;a=getchar;Scanf(“%d”,&b);a=a-‘A’+’0’;b=b*2;printf(“%c%c\n”,a,b);}a=a-‘A’+’0’=1+‘0’=”1”b=b*2=33*2=66输出是a=a-‘A’+’0’=1+‘0’=”1”b=b*2=33*2=66输出是%c字符型的格式所以1B第四章选择构造程序设计本章考纲:ifswitch选择构造的嵌套。本章学问要点:熟记关系、规律运算符的种类,重点记忆其运算符的优先级。熟记条件运算符的格式,重点把握条件表达式的执行原理。熟记if语句的根本形式,重点把握if语句的执行原理。if本章考试方式:笔试〔12〕+上机〔50〕本章内容:一、关系运算符和表达式关系运算符就是将两个值进展比较的运算符。C供给6种:<〔>〔<=〔>=〔==前四种运算符的优先级一样,后两者的优先级一样,且前四种的优先级高于后2种;关系运算符都是左结合的。12说明:达式、赋值表达式及字符表达式等。由于C10如:5>3值1 5==3值为0假设a=2,b=1,c=0则:(a>b)==c值0 d=a>b值1 f=a>b>c 值1二、规律运算符和规律表达式C3与〔&&、或〔||、非〔!〕说明:优先级为:非>与.>或,与和或运算符具有左结合性,非运算符具有右结合性。10p59页。12说明:规律运算的对象可以是C语言中任意合法的表达式。C0100代表假。00;当执行或运算时,假设第一个运算量为真,那么后一个运算量将不被执行,由于或运算时,有一个操作数为11。a=1,b=2,c=3,d=4,m=1,n=1(m=a>b)&&(n=c>d)运算后,m=0,n=1执行以下程序段后,w的值为〔〔2008年9月〕intw=”A”,x=14,y=15;w=((x||y)&&(w<”a”));A〕-1B〕NULLC〕lD〕0cc2、4、6时,值也为“真”的表达式是〔20084月〕A)(c==2)‖(c==4)‖(c==6)B)(c>=2&&c<=6)‖(c!=3)‖(c!=5)C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&&c<=6)&&(c%2!=1)AAASC65kkchar型,以下不能正确推断kk中的值为大写字母的表达式是A)kk>=”A”&&kk<=”Z”B)!(kk>=”A”‖kk<=”Z”)C)(kk+32)>=”a”&&(kk+32)<=”z”D)isalpha(kk)&&(kk<91)以下关于规律运算符两侧运算对象的表达中正确的选项是 A〕只能是整数0或1B〕只能是整数0或非0的整数C〕可以是构造体类型的数据D〕可是任意合法的表达式charc‘;inta=1,b;此处c的初值为空格字符b=!c&&a;b的值为【6〔20084月〕答案:0已定义已定义charch=’$’;inti=1,j;执行j=!ch&&i++以后,i的值为 〔20074月〕答案:1的执行挨次是:假设!ch为〔真i++;假设!ch为“零〔假i++.ch=”#”,为真,所以!ch==0〔为假,因此表达式按(2i+i保存原来的值〔1j==0假〕以下程序用于推断a,b,c能否构成三角形,假设能输出YES,假设不能输出NO。当a,b,ca,b,c能构成三角形的条件是需要同时满足三条件:a+b>c,a+c>b,b+c>a〔2006年4月〕main{floata,b,c;scanf(“%f%f%f”,&a,&b,&c); S,b,c能构成三角形*/eO\c不能构成三角形*/}〔〕ifIfCif形式为:语句体说明:其中的表达式可以是任意合法的C语言表达式。〔复合语句。其执行过程是,先计算表达式的值,假设为真〔规律值为1,即条件成立,执行语句体,否则不执行语句体,而去执行if语句的下一条语句。如:if(x>y)printf(“%d”,x);双分支构造形式为:1else2执行过程:先计算表达式的值,假设为真〔规律值为11,2。if(x>y)printf(“%d”,x);elseprintf(“%d”,y);形式为:if〔1〕1elseif〔2〕2…….elseif〔n〕nelsen+11,否则推断表达式2,假设成立,执行语句体2,否则连续推断表达式3,以此类推,假设全部n+1。嵌套构造ifelseififelse〔表达式。main 〔20019C25〕{ intx;scanf(“%d”,&x);if(x--<5)printf(“%d”,x);else printf(“%d”,x++);}程序运行后,假设从键盘上输人5,则输出结果是A)3 B)4 C)5 D)61x0有一函数,y0x0 ,以下程序段中不能依据x值正确计算出y值的是1x0〔20029C22〕A)if(x>0)y=1;B)y=0;elseif(x==0)y=0;if(x>0)y=1;elsey=-1;elseif(x<0)y=-1;C〕y=0;D〕if(x>=0)if(x>=0);if(x>0)y=1;if(x>0)y=1;elsey=0;elsey=-1;elsey=-1;ifif〔20093月〕if〔表达式〕语句其中“表达式”A〕必需是规律表达式B〕必需是关系表达式C〕必需是规律表达式或关系表达式D〕可以是任意合法的表达式有以下程序段〔2008年9月〕inta,b,c;a=10;b=50;c=30;if(a>b)a=b;b=c;c=a;ddn程序的输出结果是〔。留意:a的值已变化c=10D〕a=50留意:a的值已变化有以下程序〔2008年9月〕#include<stdio.h>main{intx=l,y=2,z=3;if(x>y)if(y<z)printf(“%d“,++z);elseprintf(“%d“,++y);printf(“%d\n“,x++);}程序的运行结果是〔。A〕331B〕41C〕2D〕1假设变量已正确定义,有以下程序段〔2008假设变量已正确定义,有以下程序段〔20084月〕inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf(“%d,%d,%d\n“,a,b,c);其输出结果是A)程序段有语法错B)3,5,3C)3,5,5D)3,5,7〔2007〔2007年9月〕y

x0x-xx0x假设程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是A〕if(x>=0)y=sqrt(x); B)y=sqrt(x)elsey=sqrt(-x); if(x<0)y=sqrt(-x);C)if(x>=0)y=sqrt(x); If(x<0)y=sqrt(-x);〔20074月〕设变量x和y〔20074月〕A)if(x++); B)if(x>y&&y!=0);C缺少分号C)if(x>y)x-- D)if(y<0){;}elsey++; C缺少分号在嵌套使用if语句时,C语言规定else总是 。〔2006年9月〕A〕if配对B〕和之前与其最近的if配对C〕elseif配对if配对有以下程序〔2006年4月〕mainif(a=1)b=1;c=2;elsed=3;printf(“%d,%d,%d,%d\n”,a,b,c,d)}程序输出A〕0,1,2,0 B)0,0,0,3 C)1,1,2,0 D)编译有错四、条件运算符和表达式条件运算符为“?C右结合性式的一般格式为:1?表达式2:表达式3表达式1、2、3可以是任意合法的C语言表达式。21033if与y=(x>0?1:x<0?-1:0)if〔20004C21〕if(x>0)y=1; B)if(x)elseif(x<0)y=-1; if(x>0)y=1;elsey=0; elseif(x<0)y=-1;elsey=0;C)y=-1 D)y=0;if(x) if(x>=0)if(x>0)y=1; if(x>0)y=1;elseif(x==0)y=0; elsey=-1;elsey=-1;假设有表达式(w)?(--x):(++y),则其中与w等价的表达式是〔〔2008年年9月〕A〕w==lB〕w==0C〕w!=lD〕w!=0设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是〔〔20079月〕〔=〕B〔〕〔=〕〔1〕以下程序的功能是:输出a、b、c三个变量中的最小值.〔2007年9月〕月〕main{inta,b,c,t1,t2;t1=a<b?[7];t2=c<t1?[8];printf(“%d\n“,t2);}答案:[7]a:b[8]c:t1假设有定义intx,并已正确给变量赋值则以下选项中与表达〔(y++)中的条件表达式〔x-y〕等价的是 。〔2006年9月〕〔x-y>〕〕(x-y<0) 〕(x-y<║-y>0)〕(x-y==0)以下程序运行后的输出结果是【8〔20069〕main{ intx,a=1,b=2,c=3,d=4;x=(a<b)?a:b; x=(x<c)?x:c;x=(d>x)?x:d;printf(“%d\n“,x);}答案:1五、switchswitch〔表达式〕{case常量表达式11case常量表达式22…….case常量表达式nndefaultn+1}说明:取值必需是整型或字符型switchcaseswitch。defaultcase执行过程:case比较,当找到匹配的,就执行casecasedefault执行完一个case后面的语句后,程序就转移到下一个case处连续执行,并breakswitch假设有定义:floatw;inta,b;则合法的switch〔20004C37〕switch(w) B)switch(a);{case1.0:printf(“*\n“);{

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论