vlambda博客
学习文章列表

初级程序员(C语言)

一、 填空题 1、 当a=5,b=4,c=2时,表达式 a>b! =c的值是1。>的优先级比!=的高 2、函数参数包括和实际参数 形式参数 。设int a[3][4]={{1,3,5,7},{2,4,6,8}};则(a+1)的值为_3。二维数组的*a就是a[0] 3、字符型数据在内存中以 ASCII码 形式存储。4、能被3整除又能被5整除的数的逻辑表达式为:m%3==0 && m%5==0。5、整型数据在计算机内存中采用 二进制 存储。6、结束循环或switch语句的控制语句是 break 。7、数组是具有相同数据类型变量的集合。8、 C语言中的标识符只能由三种字符组成,它们是字母,数字,和下划线.。9、设int a=1,b=2,c=3,d;执行d=!(a十b十c)后,d的结果是0。10、在C语言中,二维数组元素的内存中的存放顺序是按行存放。11、条件“2<x<3或x<-10”的c语言表达式是_x style="box-sizing: border-box;">2&&x<3||x<-10</x<3或x<-10”的c语言表达式是_x>_。(x>2&&x<3)||(x<-10)也可以 12、执行下面程序段后,k值是36_。While(0)停止循环

include "stdio.h"

main() {int k=1,n=263; do {k*=n%10; n/=10; }while(n); printf("%d",k); 13、若有说明语句:char c=‘\72’;则变量c 包含_1个字符。声明它是一个 char ,只有 1个字符 的 内存空间 14、C语言程序由若干个 函数 构成,此特点称为程序的模块化。15、著名的计算机科学家尼古拉斯·沃斯曾提出:程序=数据结构+ 算法 。16、使数据按格式说明符的要求进行输出的函数是 printf 。17、系统默认数组的下标变量的下标值是从 0 开始。a[0] 18、C语言中函数返回值的类型是由 函数定义时指定的类型 决定的。19、C语言中表示静态存储类别的关键字是 static 。

34、当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是( B) if(a<b) if(c<d)="" x="1;" else="" if(a<c)="" if(b<d)="" a、="" 1="" b、2="" c、3="" d、6<="" p="" style="box-sizing: border-box;">

35、下面程序的运行结果是( D)。

include

main() {int i,b,k=0; for(i=1;i<=5;i++) {b=i%2; while(b- ->=0) k++; } printf(“%d,%d”,k,b); } A、3,-1 B、8,-1 C、3,0 D、8,-2

36、 以下程序的正确运行结果是( C)。

include

num() {extern int x,y; int a=15,b=10; x=a-b; y=a+b; } int x,y; main() { int a=7,b=5; x=a+b; y=a-b; num(); printf("%d,%d\n",x,y);} A、12,2 B、不确定 C、5,25 D、1,12

37、定义如下变量和数组:int k; int a[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是(A)。for (k=0;k<3;k++) printf(“%d”,a[k][2-k]); A、3 5 7 B、3 6 9 C、1 5 9 D、1 4 7

38、以下程序输出的结果是(C void main() { int a=5,p1,p2; p1=&a,p2=&p1; (p1)++; printf(“%d\n”,p2); } A、 5 B、 4 C、 6 D、 不确定

40、 VC++6.0中以下程序的运行结果是( D. #include “stdio.h” main() {struct data {int year,month,day; }today; printf(“%d\n”,sizeof(struct data)); } A、6 B、8 C、10 D、12 四、 综合实践题 编写程序,在屏幕上输出阶梯形式的九九乘法口诀表。

include

void main() { int i,j,k; for(i=1;i<=9;i++){ for(j=1;j<=i;j++){

 
   
   
 
  1. printf("%d*%d=%d ",i,j,i*j);

  2. }

  3. printf("\n");



  4. }

}

判断输入整数x的正负性和奇偶性。

include

void main() { int a; printf("请?输º?入¨?一°?个?整?数ºy:êo\n"); scanf("%d",&a); if(a<0) printf("该?数ºy为a负o\n"); else if(a>0) printf("该?数ºy为a正y\n"); else printf("该?数ºy既¨¨不?为a正y,ê?也°2不?为a负o\n"); if(a%2==1) printf("该?数ºy为a奇?\n"); else printf("该?数ºy为a偶?\n"); }

“水仙花数”是指一个三位数,它的三个数位数字的立方和这个数的数值相等,编程打印所有的水仙花数。如407=4 +0 +7 。

include

void main() { int i,a,b,c; for(i=100;i<1000;i++){ a=i/100; 。b=i/10%10; c=i%10; if(i==aaa+bbb+ccc) printf("%d=%d^3+%d^3+%d^3\n",i,a,b,c); } }

求二维数组中最大元素值a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};

include

void main() { int max,row,colum,i,j; int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}}; max=a[0][0]; for(i=0;i<=2;i++) for(j=0;j<=3;j++)

 
   
   
 
  1. if(a[i][j]>max){ max=a[i][j];

  2. row=i;

  3. colum=j;

  4. }

  5. printf("最Á?大䨮数ºy为a%d;行D数ºy为a%d,列¢D数ºy为a%d\n",max,row,colum);

}

利用递归函数求n!,写出递归函数fact。提示:n!=1×2×3×……×n

include

int main() { int n; printf("请输入一个数字:\n"); scanf("%d",&n); printf("%d!=%d\n",n,fact(n)); } int fact(int n) { if(n==0||n==1) return 1; else return n*fact(n-1); } 五、 程序填空题 1、 当运行以下程序时,从键盘出入China# ,则下面程序的运行结果是( 5,5 )。

include

main( ) {int v1=0,v2=0; char ch; while((ch=getchar())!='#') {switch(ch) {case'a': case'h': default:v1++;内部没有一个 break ;均是按顺序向下执行,不跳出。

case'o':v2++; } } printf("%d,%d\n",v1,v2); } 2、下面程序的输出结果是:(* **



  )。

include

main() { int i,j; for(i=4;i>=1;i--) { printf(""); for(j=1;j<=4-i;j++) printf(""); printf("\n");

} } 3、下面程序的输出结果是:( 8,17 )。#include main() { int k=4,m=1,p; p=func(k,m);printf(“%d,”,p); p=func(k,m);printf(“%d\n”,p); }

func(int a,int b) { static int m=0,i=2; i+=m+1; m=i+a+b; return(m); } 4、下面程序的输出结果是day

include

main( ) { char *p="Wednesday"; p=p+6; printf("%s\n",p); } 5、下面程序的输出结果是0 1 2 1 2 3 2 3 4__:

include

main( ) { int n[3][3], i, j;for(i=0;i<3;i++ ) { for(j=0;j<3;j++ ) { n[i][j]=i+j;printf(“%d ”, n[i][j]);} } }