C语言期末复习题二.docx
文本预览下载声明
C语言程序设计 试题二一、选择题:(20分,每题2分)1、C语言程序的基本单位是_________.A) 程序行 B) 语句C) 函数 D) 字符//知识题。结构化程序的特点,实现了功能的模块化。另外,结构化程序设计的三种流程结构:顺序、选择、循环。2、C语言中非空的基本数据类型包括________.A) 整型,实型,逻辑型 B) 整型,实型,字符型C) 整型,字符型,逻辑型 D) 整型,实型,逻辑型,字符型//P27图2-2数据类型3、以下叙述不正确的是_____.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示。B) 在C程序中,变量名代表存储器中的一个位置。C) 在C语言中,指针就是地址,数组名代表数组的首地址。D) 在C语言中,变量必须先定义后引用//实数的表示是有极限的,只能准确到某有效数字之内。4、设有以下语句:int x=10;x+=3+x%(3),则x的值是._______A) 14 B) 15 C) 11 D) 125、设int a=12,则执行完语句a+=a-=a*a后,a的值是______A) 552 B) 264 C) 144 D) 288//搞清楚运算符的优先级和结合性。6、语句while(!e);中的条件 !e 等价于_____.A) e==0 B) e!=1 C) e!=0 D) ~e//C语言中没有逻辑类型的数据,所以用0代表假,非零代表真。但逻辑值在存储时却是用1表示真,0表示假。7、下面程序段中,循环体的执行次数是______.int a=10,b=0;do {b+=2;a-=2+b;} while(a=0);A) 4 B) 5 C) 3 D) 2//注意循环变量a在循环体内的变化,做循环的题要注意变量的值发生的变化。8、变量的指针,其含义是该变量的______________。A)值B)地址C)名D)一个标志9、设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为____C_____. x=y=z=1; t=++x || ++y ++z;A) 不定值 B) 4 C) 1 D) 0//该题简单,数值做逻辑值的时候,非0为真,0为假。具体到输出或者赋值的时候,真为1,假为0. 该题如果是问执行完这两条语句后,x,y,z的值是多少?如何来判定。这里需要认真研究一下。这是典型的短路表达式,执行完++x之后遇到||,后面无论是什么值,都注定整个表达式的值为真,所以,后面就不执行了。这时,x,y,z的值分别是:2,1,1.10、合法的数组定义是___D_____.A) int a[6]={string}; B) int a[5]={0,1,2,3,4,5};C) char a={string}; D) char a[]={0,1,2,3,4,5};//A的数据类型不对,B越界了,C定义一个简单变量而不是数组。二、给出下列程序的运行结果:(20分,前四题每题3分,后两题每题4分)1、#includestdio.hvoid main(){inti,sum=0;for (i=1;i=100;i=i+2)sum+=i;printf(sum=%d\n,sum);}//2500//该题是前六章必背011号程序,求100以内奇数的和。2、#include stdio.hvoid main( ){ int a[ ]={5,4,3,2,1},i,j;long s=0;for(i=0;i5;i++) s=s*10+a[i];printf(s=%ld\n,s); }//s=54321 可以理解为对于数组中的元素,从前向后执行乘10向后加的操作。与试题1中的某题类似。3、#includestdio.hvoid main(){ int x=10,y=10;printf(%d %d\n,x--,--y);}//10 9超级简单的题目,一个后自减,一个前自减。前者是先使用后自减,后者是先自减后使用。4、#include stdio.hmain(){int k=4, n=0;for (;nk;){ n++;if (n%2 == 0) continue;k--;}printf(k=%d, n=%d\n,k,n);}K=2,n=3该题的关键是 n 和k这两个变量一个自加一个自减。大家做这种题的时候,最好拿一张草纸,写下每次n…k…n的值的变化5、#include stdio.hmain(){inti, j,
显示全部