信息学奥赛辅导(C语言一)
- 格式:doc
- 大小:245.50 KB
- 文档页数:37
信奥赛一本通—c 语言运算符和表达式(原创版)目录1.信奥赛一本通介绍2.C 语言运算符分类3.算术运算符4.关系运算符5.逻辑运算符6.位运算符7.赋值运算符8.其他运算符9.表达式的概念和分类10.表达式的求值正文【信奥赛一本通介绍】《信奥赛一本通》是一本针对信息学奥林匹克竞赛(NOI)的辅导教材,内容包括计算机编程基础、数据结构与算法、组合数学等。
本书旨在帮助学生提高编程能力,培养逻辑思维,以便在信息学竞赛中取得优异成绩。
【C 语言运算符分类】C 语言中的运算符可以分为以下几类:1.算术运算符2.关系运算符3.逻辑运算符4.位运算符5.赋值运算符6.其他运算符【算术运算符】算术运算符包括加(+)、减(-)、乘(*)、除(/)、取模(%)等,它们用于对数值进行加减乘除等运算。
【关系运算符】关系运算符包括大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)、不等于(!=)等,它们用于比较两个数值的大小或相等关系。
【逻辑运算符】逻辑运算符包括与(&&)、或(||)、非(!)等,它们用于进行逻辑运算,如判断条件是否成立等。
【位运算符】位运算符包括按位与(&)、按位或(|)、按位异或(^)、左移(<<)、右移(>>)等,它们用于对二进制数进行位运算。
【赋值运算符】赋值运算符包括等号(=)和赋值运算符(+=、-=、*=、/=、%=),它们用于给变量赋值或将一个值赋给一个表达式。
【其他运算符】其他运算符包括括号(()、[]、{})、逗号(,)、点(.)等,它们用于表示运算顺序和数据结构。
【表达式的概念和分类】表达式是计算机程序设计中用于表示数值、变量、运算符等组成的式子。
根据运算符的类型,表达式可以分为以下几类:1.算术表达式:包含算术运算符的表达式。
2.关系表达式:包含关系运算符的表达式。
3.逻辑表达式:包含逻辑运算符的表达式。
信息学竞赛C++语言教学第一课教案一、教学内容1. C++语言基础知识介绍1.1 C++语言的概念1.2 C++语言的发展历史1.3 C++语言的特点和应用领域2. C++语言的基本语法2.1 数据类型和变量2.2 运算符和表达式2.3 控制结构2.4 函数和模块化编程2.5 数组和指针2.6 面向对象编程3. 算法分析与实践3.1 算法设计和分析方法3.2 常用算法的实现3.3 实际问题的算法解决方法二、教学目标1. 掌握C++语言的基本概念和特点,了解其应用领域。
2. 理解C++语言的基本语法,包括数据类型、运算符、控制结构等。
3. 掌握C++语言的函数和模块化编程、数组和指针、面向对象编程等内容。
4. 掌握算法设计和分析方法,了解常用算法的实现和实际问题的算法解决方法。
三、教学重点和难点1. C++语言的基本语法为教学重点,学生需掌握数据类型、运算符、控制结构等知识。
2. 面向对象编程和算法设计为教学难点,需要引导学生理解并掌握相关知识。
四、教学方法1. 讲授相结合的教学方法,通过讲解基础知识和案例分析引导学生深入理解。
2. 案例实践的教学方法,通过实际问题的解决来巩固学生的C++编程能力。
五、教学过程1. C++语言基础知识介绍1.1 介绍C++语言的概念,讲解其起源和发展历史,引导学生了解C++语言的特点和应用。
1.2 通过案例分析,展示C++语言在实际项目中的应用,激发学生学习的兴趣。
2. C++语言的基本语法2.1 讲解数据类型和变量的定义和使用方法,引导学生编写简单的数据类型和变量操作程序。
2.2 授予运算符和表达式的运用,通过实例讲解各种运算符的使用方法。
2.3 介绍C++语言的控制结构,包括顺序结构、选择结构和循环结构,引导学生掌握各种结构的应用。
3. 算法分析与实践3.1 讲解算法设计和分析的基本思想和方法,引导学生掌握算法设计的基本技巧。
3.2 介绍常用算法的实现,包括排序算法、查找算法等,通过实例演示算法的具体应用。
《信奥赛一本通—c 语言运算符和表达式》随着信息技术的不断发展,编程语言作为计算机与人交流的桥梁,也日益受到重视。
在众多编程语言中,C语言因其简洁、高效的特点备受青睐,成为不少软件开发者的首选。
在C语言中,运算符和表达式是非常基础且重要的概念,对于初学者来说,掌握此部分知识是建立扎实的编程基础的关键。
在本篇文章中,我将从简单的运算符介绍开始,逐步深入到表达式的计算与运用,帮助我更全面、深入地理解C语言运算符和表达式这一主题。
1. 运算符的基本概念我们来了解C语言中常见的运算符,包括赋值运算符、算术运算符、关系运算符、逻辑运算符等。
其中,赋值运算符用于将右侧的数值或表达式赋给左侧的变量;算术运算符包括加法、减法、乘法、除法、取模等,用于表示基本的数学运算;关系运算符用来比较两个值之间的关系,通常返回真或假;逻辑运算符用于连接或改变关系表达式的值,包括与、或、非等。
2. 运算符的优先级和结合性在实际编程中,运算符的优先级和结合性是至关重要的。
优先级决定了表达式中运算符的执行顺序,而结合性则决定了相同优先级的运算符在没有括号的情况下如何组合。
在C语言中,乘法运算符的优先级高于加法运算符,因此在计算表达式时会先执行乘法运算。
3. 表达式的计算与运用除了掌握各类运算符的基本概念外,更重要的是理解如何运用这些运算符来构建各种复杂的表达式。
在实际编程中,我们经常需要进行变量赋值、数学运算、逻辑比较等操作,这就需要灵活运用C语言的运算符和表达式来实现。
总结回顾通过本文的阅读与学习,相信我已经对C语言运算符和表达式有了更深入的了解。
我掌握了C语言中常见的运算符,包括赋值运算符、算术运算符、关系运算符和逻辑运算符,对其基本概念有了清晰的认识。
我了解了运算符的优先级和结合性的重要性,能够在编程中灵活运用这些知识。
通过学习如何构建复杂的表达式,我对C语言运算符和表达式的应用有了更深层次的理解。
个人观点和理解对我来说,C语言运算符和表达式是建立编程基础的重要一环。
信息学奥赛辅导(C语言一)信息学奥赛辅导:C语言复习题(一)第1~3章练习题一、选择题1、一个C语言程序总是从____A、主过程开始执行B、主函数开始执行C、子程序开始执行D、主程序开始执行2、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为_A、4B、16C、32D、523、下面四个选项中,均是C语言关键字的选项是____A、auto enum includeB、switch typedef continueC、signed union scanfD、if struct type4、下面四个选项中,均是合法整型常量的选项是____A、160 -0xffff 011B、-0xcdf 01a 0xeC、-01 986,012 0668D、-0x48a 2e5 0x5、下面四个选项中,均是合法浮点数的选项是___A、+1e+1 5e-9.4 03e2B、-.60 12e-4 -8e5C、123e 1.2e-.4 +2e-1D、-e3 .8e-4 5.e-0A、'\'' '\\' '\n'B、'\' '\017' '\"'C、'\018' '\f' 'xab'D、'\\0' '\101' 'xlf'7、下面正确的字符常量是____A、'\X17'B、'\80'C、'\\'D、"\n"8、下面四个选项中,均是正确的八进制数和十六进制数的选项是____A、-10 0x8f -011B、0abc -017 0xcC、010 -0x11 0xf1D、0a12 -0x123 -0xa9、下面四个选项中,均是正确的数值常量或字符常量的选项是____A、0.0 0f 8.9e '&'B、"a" 3.9E-2.5 1e1 '\"'C、'3' 011 0xFF00 0aD、+001 0xabcd 2e2 50.10、若有代数式,则正确的C语言表达式是____A、2*ln(x)*cos(x)/3*xB、2*ln(x)*cos(x)/(3*x)C、2*log(x)*cos(x)/3*xD、2*log(x)*cos(x)/(3*x)11、若有说明语句:char ch1='\065';char ch2="2";char ch3='2';则:ch1中____,ch2中____,ch3中____A、包含1个字符B、包含2个字符C、包含3个字符D、字符个数不确定,说明不正确12、若有运算符:>、*=、?:、%、sizeof,则将它们按运算的优先级排列的正确次序为(由低至高)____A、*=→?:→%→>→sizeofB、?:→*=→>→%→sizeof13、若有以下类型说明语句:char a;int b;float c;double d;则表达式a*b+d-c的结果类型为____A、floatB、charC、intD、double14、若有变量说明:int a=0,b=0,c=0;,以下符合C语言语法的赋值表达式是____A、a=9+b+c=a+9B、a=9+b;c=a+9;C、a=(9+b,b++)D、a=9+b++=a+715、已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句ch1='A'+'6'-'3';后,ch1中的值为____A、DB、68C、一个不确定的值D、C16、以下运算符中优先级最高的运算符是____A、&&B、++C、?:D、!=17、若有定义:int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值是___A、2.500000B、2.7500000C、3.500000D、0.00000018、sizeof(float)是____A、双精度型表达式B、一个整型表达式C、一个函数调用D、一个不合法的表达式19、设变量y为float类型,x为int类型,则以下能实现将y中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是____A、y=(y*100+0.5)/100.0B、x=y*100+0.5,y=x/100.0C、y=y*100+0.5/100.0D、y=(y/100+0.5)*100.020、设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是____A、0~255B、0~65535C、-32768~+32767D、-256~+25521、若有以下定义,则能得到值为3的表达式是____(int m=7,n=12)A、n%=(m%=5)B、n%=(m-m%5)C、n%=m-m%5D、(n%=m)-(m%=5)22、若有说明:int a=1,b=2,c=3,d=4;则表达式a<b?a:c<d?c:d的值是___< bdsfid="170" p=""></b?a:c<d?c:d 的值是___<>A、4B、3C、2D、123、若x为int类型,则逗号表达式(x=4*5,x*5),x+25的结果是___,x的值是___A、20B、100C、表达式不正确D、4524、putchar函数可以向终端输出一个____A、整型变量值B、实型变量值C、字符串D、字符或字符型变量值25、若有以下变量说明和数据的输入方式,则正确的输入语句为('└─┘'代表空格)____变量说明:float x1,x2;数据的输入方式:4.52<回车>3.5<回车>A、scanf("%f,%f",&x1,&x2);B、scanf("%f%f",&x1,&x2);C、scanf("%3.2f└─┘%2.1f",&x1,&x2);D、scanf("%3.2f%2.1f",&x1,&x2);26、若运行以下程序时,从键盘输入25,13,10<回车>,则输出结果为___{int a1,a2,a3;scanf("%d%d%d",&a1,&a2,&a3);printf("a1+a2+a3=%d\n",a1+a2+a3);}A、a1+a2+a3=48B、a1+a2+a3=25B、a1+a2+a3=10D、不确定值27、已知a、b、c为int类型变量,若有输入语句:scanf("a=%db=%dc=%d",&a,&b,&c);为使a值为1,b值为3,c值为2,从键盘输入数据的正确形式应当是____A、132<回车>B、a=1b=3c=2<回车>C、1<回车>3<回车>2<回车>D、a=1<回车>b=3<回车>c=2<回车>28、以下能正确定义整型变量x、y和z并为其赋初值5的语句是____A、int x=y=z=5;B、int x,y,z=5;C、int x=5,y=5,z=5;D、x=5,y=5,z=5;29、执行下面程序段后,x的值是____int x;printf("%d\n",(x=3*5,x+5));30、下面程序段的输出结果是____int a=023;printf("%d\n",--a);A、23B、17D、2431、已知ch是字符型变量,则不正确的赋值语句是____A、ch=5+9;B、ch='\0';C、ch='7'+'9';D、ch='a+b';32、设x,y是float型变量,则不正确的赋值语句是____A、++x;B、y=int(5);C、x*=y+1;D、x=y=0;33、设有说明:double b=0.5,c=1.5;int a=10;则正确使用了C语言库函数的赋值语句是____A、c=asin(c)+fabs(a);B、b=log10(b)+pow(b);C、c=sqrt(b-c);D、a=(int)(atan2((double)a,b)+exp(b-0.2));34、以下程序段的输出结果是____int i=1,j=4,k=2;float x=5.5,y=9.0,z;z=(i+j)/k+sqrt((double)y)*1.2/k+x;printf("%f\n",z);A、9.800000B、9.300000C、8.500000D、8.00000035、若a为int类型变量,则执行以下程序段后a的值为____a=5;a*=a/=a++;B、1C、40D、336、若a和b均为int型变量,则执行以下程序断后x的输出是____x=15;y=15;printf("%d\n",x%=(y%=2));A、0B、1C、6C、1237、若x为unsigned int类型变量,则执行以下程序段后x的值是____x=65535;printf("%d\n",x);A、65535B、1C、无定值D、-138、以下语句的执行结果是____printf("%d\n",NULL);A、1B、0C、-1无定值39、若x为int类型变量,则执行以下程序段后的输出结果是____x=0xDEF;printf("%4d,%4o,%4x\n",x,x,x);A、3567,6757,defB、3567,6757,xdefC、3567,06757,0xdefD、3567,6757,0def40、若a、b、c均为int型变量,则执行以下程序段后的输出结果为____b=(a=10,a+5,c=10);printf("a=%d,b=%d,c=%d\n",a,b,c);c=(a=10,b=5,a+b);printf("a=%d,b=%d,c=%d\n",a,b,c);A、a=10,b=15,c=10B、a=10,b=10,c=10a=10,b=5,c=10 a=10,b=5,c=10C、a=10,b=10,c=10D、a=10,b=10,c=10a=10,b=5,c=15a=10,b=5,c=541、若a1、a2、a3、a4均为char类型变量,则执行以下程序段后的输出结果为____a1='1';a2='2';a3='3';a4='4';printf("%1c\n",a1);printf("%2c\n",a2);printf("%3c\n",a3);printf("%4c\n",a4);A、1B、1C、1D、输出格式的描述符不正确2 2 023 3 0034 4 000442、执行语句printf("The program's name is c:\\tools\book.txt");后的输出是____B、The program's name is c:\tools book.txtC、The program's name is c:\\tools book.txtD、The program's name is c:\toolook.txt43、设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是____scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d);printf("%4d+%3d+%2d+%1d",a, b, c, d);A、1234123121<回车>B、1234123412341234<回车>C、1234+1234+1234+1234<回车>D、1234+123+12+1<回车>44、设c1、c2均是char类型变量,则以下不正确的函数调用是____A、scanf("c1=%cc2=%c",&c1,&c2);B、getchar( )C、putchar(c2);D、putchar(c1,c2)45、逻辑运算符两侧运算对象的数据____A、只能是0或1B、只能是0或非0正数C、只能是整型或字符型数据D、可以是任何类型的数据46、判断char型变量c1是否为大写字母的正确表达式是____A、'A'<=c1<='Z'B、(c1>='A')&(c1<='Z')C、(c1>='A')&&(c1<='Z')D、('A'<=c1) AND ('Z'>=c1)47、执行以下程序段后的a值是___,b的值是___,c的值是___int a=5,b=6,c=1,x=2,y=3,z=4;A、0B、6C、1D、548、设i、j、和k是int型变量,且i=3,j=4,k=5,则以下值为0的表达式是_A、'i'&&'j'B、i<=jC、i||j+k&&j-kD、!((i<j)&&!k||1)< bdsfid="334" p=""></j)&&!k||1)<>49、设ch是char类型变量,其值是A,则以下表达式的值是____ch=(ch>='A'&&ch<='Z')?(ch+32):chA、ZB、AC、aD、z50、若希望当num的值为奇数时,表达式的值为“真”,num 的值为偶数时,表达式的值为“假”。
信息学奥赛c语言
信息学奥赛C语言
信息学奥赛是一项全国性的计算机竞赛,旨在培养学生的计算机科学素养和创新能力。
而C语言则是信息学竞赛中最为重要的编程语言之一。
在信息学奥赛中,C语言的应用范围非常广泛,几乎涵盖了所有的计算机科学领域。
C语言是一种高级编程语言,它具有简洁、高效、可移植等特点。
在信息学竞赛中,C语言的应用主要包括算法实现、数据结构、操作系统、网络编程等方面。
在算法实现方面,C语言可以实现各种复杂的算法,如排序、查找、图论等。
在数据结构方面,C语言可以实现各种数据结构,如链表、树、图等。
在操作系统方面,C语言可以实现各种系统调用、进程管理、内存管理等。
在网络编程方面,C语言可以实现各种网络协议、套接字编程等。
在信息学竞赛中,C语言的应用非常广泛,因此学生需要掌握C语言的基本语法和编程技巧。
首先,学生需要掌握C语言的基本语法,包括变量、数据类型、运算符、控制语句、函数等。
其次,学生需要掌握C语言的编程技巧,包括调试技巧、算法设计技巧、代码优化技巧等。
最后,学生需要掌握C语言的应用技巧,包括数据结构的实现、算法的实现、操作系统的实现、网络编程的实现等。
C语言是信息学竞赛中最为重要的编程语言之一,学生需要掌握C
语言的基本语法和编程技巧,才能在信息学竞赛中取得好成绩。
同时,学生还需要不断提高自己的编程能力和创新能力,才能在信息学竞赛中脱颖而出。
信息学奥赛培训信息学奥赛是一项全球性的计算机竞赛,旨在培养学生的算法和编程能力。
参加信息学奥赛需要掌握一些基本的计算机科学知识和算法技巧。
本文将介绍一些信息学奥赛的常见算法,帮助读者更好地备战信息学竞赛。
1. 暴力枚举暴力枚举是一种朴素的算法,通常用于小规模输入的问题。
它的工作原理是生成所有可能的解并逐一检查。
虽然暴力枚举的时间复杂度很高,但是它的思想对于理解其他高级算法非常有用。
下面是一道使用暴力枚举解决的简单问题:问题:给定一个整数n,求1到n中所有数字的和。
解法:对于每个数字,都加上它本身即可。
代码:int n, sum;cin>>n;for(int i=1;i<=n;i++){sum += i;}cout<<sum;2. 贪心算法贪心算法是一种常见的优化算法,在每个步骤中选择当前的最优解,最终得到全局最优解。
贪心算法的时间复杂度通常比暴力枚举低,但必须证明它的正确性。
下面是一道使用贪心算法解决的经典问题:问题:有n个活动,每个活动有开始时间和结束时间,任意两个活动不能同时进行,问最多可以进行多少个活动。
解法:贪心地选择结束时间早的活动。
从所有活动中选出结束时间最早的活动,以它为基准,删除与它冲突的活动,然后重复这个过程,直到没有活动可以选为止。
代码:struct Activity{int start, end;};bool cmp(const Activity& a, const Activity& b){return a.end < b.end;}int n, ans;vector<Activity> activities;cin>>n;for(int i=0;i<n;i++){int start, end;cin>>start>>end;activities.push_back(Activity{start, end});}sort(activities.begin(), activities.end(), cmp);int endtime = 0;for(int i=0;i<n;i++){if(activities[i].start >= endtime){endtime = activities[i].end;ans++;}}cout<<ans;3. 分治算法分治算法是一种将问题分成子问题,分别求解的算法。
信息学奥赛一本通—c 语言程序的结构:摘要:一、信息学奥赛一本通简介二、C 语言程序的基本结构三、C 语言程序的设计方法四、C 语言程序的实战演练五、总结正文:【一、信息学奥赛一本通简介】《信息学奥赛一本通》是一本针对中学生信息学奥林匹克竞赛的辅导教材。
本书内容涵盖了计算机编程基础知识、数据结构与算法、计算机网络等多个方面,旨在帮助学生提高编程技能,锻炼逻辑思维能力,并备战信息学奥赛。
【二、C 语言程序的基本结构】C 语言是一种广泛应用于计算机编程的高级语言。
一个C 语言程序的基本结构包括以下几个部分:1.预处理指令:预处理指令主要用于处理宏定义、头文件包含等预处理命令。
2.主函数:主函数是程序的入口,程序执行从主函数开始。
3.函数:函数是C 语言程序的基本模块,用于实现特定功能。
4.变量与常量:变量用于存储数据,常量是具有固定值的量。
5.控制结构:控制结构包括条件语句、循环语句等,用于控制程序的执行流程。
6.表达式与运算符:表达式是由运算符和操作数组成的式子,用于计算结果。
【三、C 语言程序的设计方法】C 语言程序的设计方法主要包括以下几种:1.面向过程设计:面向过程设计是一种以过程(函数)为中心的编程方法,关注数据结构和算法的实现。
2.面向对象设计:面向对象设计是一种以对象为中心的编程方法,关注类与对象的定义、属性和方法。
3.模块化设计:模块化设计是将程序划分为若干个模块,每个模块具有独立的功能和职责。
【四、C 语言程序的实战演练】以下是一个简单的C 语言程序实例,实现计算两个整数的和的功能:```c#include <stdio.h>int add(int a, int b) {return a + b;}int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d%d", &num1, &num2);sum = add(num1, num2);printf("两数之和为:%d", sum);return 0;}```【五、总结】学习C 语言编程,需要掌握基本的程序结构、语法规则以及设计方法。
信息学奥赛辅导:C语言复习题(一)第1~3章练习题一、选择题1、一个C语言程序总是从____A、主过程开始执行B、主函数开始执行C、子程序开始执行D、主程序开始执行2、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为_A、4B、16C、32D、523、下面四个选项中,均是C语言关键字的选项是____A、auto enum includeB、switch typedef continueC、signed union scanfD、if struct type4、下面四个选项中,均是合法整型常量的选项是____A、160 -0xffff 011B、-0xcdf 01a 0xeC、-01 986,012 0668D、-0x48a 2e5 0x5、下面四个选项中,均是合法浮点数的选项是___A、+1e+1 5e-9.4 03e2B、-.60 12e-4 -8e5C、123e 1.2e-.4 +2e-1D、-e3 .8e-4 5.e-06、下面四个选项中,均是合法转义字符的选项是____A、'\'' '\\' '\n'B、'\' '\017' '\"'C、'\018' '\f' 'xab'D、'\\0' '\101' 'xlf'7、下面正确的字符常量是____A、'\X17'B、'\80'C、'\\'D、"\n"8、下面四个选项中,均是正确的八进制数和十六进制数的选项是____A、-10 0x8f -011B、0abc -017 0xcC、010 -0x11 0xf1D、0a12 -0x123 -0xa9、下面四个选项中,均是正确的数值常量或字符常量的选项是____A、0.0 0f 8.9e '&'B、"a" 3.9E-2.5 1e1 '\"'C、'3' 011 0xFF00 0aD、+001 0xabcd 2e2 50.10、若有代数式,则正确的C语言表达式是____A、2*ln(x)*cos(x)/3*xB、2*ln(x)*cos(x)/(3*x)C、2*log(x)*cos(x)/3*xD、2*log(x)*cos(x)/(3*x)11、若有说明语句:char ch1='\065';char ch2="2";char ch3='2';则:ch1中____,ch2中____,ch3中____A、包含1个字符B、包含2个字符C、包含3个字符D、字符个数不确定,说明不正确12、若有运算符:>、*=、?:、%、sizeof,则将它们按运算的优先级排列的正确次序为(由低至高)____A、*=→?:→%→>→sizeofB、?:→*=→>→%→sizeofC、*=→>→?:→sizeof→%D、*=→?:→>→%→sizeof13、若有以下类型说明语句:char a;int b;float c;double d;则表达式a*b+d-c的结果类型为____A、floatB、charC、intD、double14、若有变量说明:int a=0,b=0,c=0;,以下符合C语言语法的赋值表达式是____A、a=9+b+c=a+9B、a=9+b;c=a+9;C、a=(9+b,b++)D、a=9+b++=a+715、已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句ch1='A'+'6'-'3';后,ch1中的值为____A、DB、68C、一个不确定的值D、C16、以下运算符中优先级最高的运算符是____A、&&B、++C、?:D、!=17、若有定义:int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值是___A、2.500000B、2.7500000C、3.500000D、0.00000018、sizeof(float)是____A、双精度型表达式B、一个整型表达式C、一个函数调用D、一个不合法的表达式19、设变量y为float类型,x为int类型,则以下能实现将y中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是____A、y=(y*100+0.5)/100.0B、x=y*100+0.5,y=x/100.0C、y=y*100+0.5/100.0D、y=(y/100+0.5)*100.020、设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是____A、0~255B、0~65535C、-32768~+32767D、-256~+25521、若有以下定义,则能得到值为3的表达式是____(int m=7,n=12)A、n%=(m%=5)B、n%=(m-m%5)C、n%=m-m%5D、(n%=m)-(m%=5)22、若有说明:int a=1,b=2,c=3,d=4;则表达式a<b?a:c<d?c:d的值是___A、4B、3C、2D、123、若x为int类型,则逗号表达式(x=4*5,x*5),x+25的结果是___,x的值是___A、20B、100C、表达式不正确D、4524、putchar函数可以向终端输出一个____A、整型变量值B、实型变量值C、字符串D、字符或字符型变量值25、若有以下变量说明和数据的输入方式,则正确的输入语句为('└─┘'代表空格)____变量说明:float x1,x2;数据的输入方式:4.52<回车>3.5<回车>A、scanf("%f,%f",&x1,&x2);B、scanf("%f%f",&x1,&x2);C、scanf("%3.2f└─┘%2.1f",&x1,&x2);D、scanf("%3.2f%2.1f",&x1,&x2);26、若运行以下程序时,从键盘输入25,13,10<回车>,则输出结果为___main( ){int a1,a2,a3;scanf("%d%d%d",&a1,&a2,&a3);printf("a1+a2+a3=%d\n",a1+a2+a3);}A、a1+a2+a3=48B、a1+a2+a3=25B、a1+a2+a3=10D、不确定值27、已知a、b、c为int类型变量,若有输入语句:scanf("a=%db=%dc=%d",&a,&b,&c);为使a值为1,b值为3,c值为2,从键盘输入数据的正确形式应当是____A、132<回车>B、a=1b=3c=2<回车>C、1<回车>3<回车>2<回车>D、a=1<回车>b=3<回车>c=2<回车>28、以下能正确定义整型变量x、y和z并为其赋初值5的语句是____A、int x=y=z=5;B、int x,y,z=5;C、int x=5,y=5,z=5;D、x=5,y=5,z=5;29、执行下面程序段后,x的值是____int x;printf("%d\n",(x=3*5,x+5));A、10B、15C、20D、5 30、下面程序段的输出结果是____int a=023;printf("%d\n",--a);A、23B、17C、18D、2431、已知ch是字符型变量,则不正确的赋值语句是____A、ch=5+9;B、ch='\0';C、ch='7'+'9';D、ch='a+b';32、设x,y是float型变量,则不正确的赋值语句是____A、++x;B、y=int(5);C、x*=y+1;D、x=y=0;33、设有说明:double b=0.5,c=1.5;int a=10;则正确使用了C语言库函数的赋值语句是____A、c=asin(c)+fabs(a);B、b=log10(b)+pow(b);C、c=sqrt(b-c);D、a=(int)(atan2((double)a,b)+exp(b-0.2));34、以下程序段的输出结果是____int i=1,j=4,k=2;float x=5.5,y=9.0,z;z=(i+j)/k+sqrt((double)y)*1.2/k+x;printf("%f\n",z);A、9.800000B、9.300000C、8.500000D、8.00000035、若a为int类型变量,则执行以下程序段后a的值为____a=5;a*=a/=a++;A、2B、1C、40D、336、若a和b均为int型变量,则执行以下程序断后x的输出是____x=15;y=15;printf("%d\n",x%=(y%=2));A、0B、1C、6C、1237、若x为unsigned int类型变量,则执行以下程序段后x的值是____x=65535;printf("%d\n",x);A、65535B、1C、无定值D、-138、以下语句的执行结果是____printf("%d\n",NULL);A、1B、0C、-1无定值39、若x为int类型变量,则执行以下程序段后的输出结果是____x=0xDEF;printf("%4d,%4o,%4x\n",x,x,x);A、3567,6757,defB、3567,6757,xdefC、3567,06757,0xdefD、3567,6757,0def40、若a、b、c均为int型变量,则执行以下程序段后的输出结果为____b=(a=10,a+5,c=10);printf("a=%d,b=%d,c=%d\n",a,b,c);c=(a=10,b=5,a+b);printf("a=%d,b=%d,c=%d\n",a,b,c);A、a=10,b=15,c=10B、a=10,b=10,c=10a=10,b=5,c=10 a=10,b=5,c=10C、a=10,b=10,c=10D、a=10,b=10,c=10a=10,b=5,c=15a=10,b=5,c=541、若a1、a2、a3、a4均为char类型变量,则执行以下程序段后的输出结果为____a1='1';a2='2';a3='3';a4='4';printf("%1c\n",a1);printf("%2c\n",a2);printf("%3c\n",a3);printf("%4c\n",a4);A、1B、1C、1D、输出格式的描述符不正确2 2 023 3 0034 4 000442、执行语句printf("The program's name is c:\\tools\book.txt");后的输出是____A、The program's name is c:tools book.txtB、The program's name is c:\tools book.txtC、The program's name is c:\\tools book.txtD、The program's name is c:\toolook.txt43、设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是____scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d);printf("%4d+%3d+%2d+%1d",a, b, c, d);A、1234123121<回车>B、1234123412341234<回车>C、1234+1234+1234+1234<回车>D、1234+123+12+1<回车>44、设c1、c2均是char类型变量,则以下不正确的函数调用是____A、scanf("c1=%cc2=%c",&c1,&c2);B、getchar( )C、putchar(c2);D、putchar(c1,c2)45、逻辑运算符两侧运算对象的数据____A、只能是0或1B、只能是0或非0正数C、只能是整型或字符型数据D、可以是任何类型的数据46、判断char型变量c1是否为大写字母的正确表达式是____A、'A'<=c1<='Z'B、(c1>='A')&(c1<='Z')C、(c1>='A')&&(c1<='Z')D、('A'<=c1) AND ('Z'>=c1)47、执行以下程序段后的a值是___,b的值是___,c的值是___int a=5,b=6,c=1,x=2,y=3,z=4;c=(a=c>x)&&(b=y>z);A、0B、6C、1D、548、设i、j、和k是int型变量,且i=3,j=4,k=5,则以下值为0的表达式是_A、'i'&&'j'B、i<=jC、i||j+k&&j-kD、!((i<j)&&!k||1)49、设ch是char类型变量,其值是A,则以下表达式的值是____ch=(ch>='A'&&ch<='Z')?(ch+32):chA、ZB、AC、aD、z50、若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。