100){c=(a*a+b*b)/100;printf("%d",c);}el" />

东北大学C语言主观题

东北大学C语言主观题
东北大学C语言主观题

主观题

题目

1编程:要求输入整数a和b,若a*a+b*b大于100,则输出a*a+b*b百位以上的数字,否则输出两数之和a+b。

#include

main()

{

int a,b,c;

printf("please input a=");

scanf("%d",&a);

printf("please input b=");

scanf("%d",&b);

if(a*a+b*b>100)

{

c=(a*a+b*b)/100;

printf("%d",c);

}

else

printf("%d\n",a+b);

}

4编程:输入三个正整数x,y,z,将这三个数由小到大输出。

#include

#include

main()

{

int a[3],i,m

ax,j;

printf("please input the 3 numbers:");

for(i=0;i<3;i++)

{

scanf("%d",&a[i]);

}

for(i=0;i<3;i++)

{

for(j=0;j<2;j++)

if(a[j]>a[j+1])

{

max=a[j];

a[j]=a[j+1];

a[j+1]=max;

}

}

printf("the result is");

for(i=0;i<3;i++)

printf(" %d",a[i]);

printf("\n");

}

5编程:从键盘输入一个年号,判断该年号是否为闰年,并输出结果。闰年是能被4整除但不能被100整除;或能被100整除且能被400整除的年号。

一解:#include

main()

{

int year ;

printf ("input the year :");

scanf ("%d",&year);

if (year%4==0&&year%100!=0;)

printf ("%d is a leap year \n",year );

else if (year%100==0&&year%400==0)

printf ("%d is a leap year\n",year);

else

printf ("%d is not a leap year \n",year);

}

二解:#include

int main(void)

{

int year;

scanf("%d",&year);

if((year%4==0)&&(year%100!=0)||(year%400==0))

printf("这年是闰年\n");

else

printf("这年不是闰年\n");

}

6编程实现四位电话号码的升位。原来电话号码为1、3、5、7、9打头的号码前加2,原来电话号码为2、4、6、8打头的加3,例如:输入1234,则输出:21234。

#include

main()

{

long x,y;

printf("please input telephone number ");

scanf("%d",&x);

y=x/1000;

switch(y)

{

case 1:

case 3:

case 5:

case 7:

case 9:x=2*10000+x;break;

case 2:

case 4:

case 6:

case 8:x=3*10000+x;break;

}

printf("the result is %ld\n",x);

}

7编程实现四位电话号码的升位。原来电话号码为1、2、3、4、5打头的号码前加3,原来电话号码为6、7、8、9打头的加2,例如:输入1234,则输出:31234。参考6

9编程:输入3个正整数,判断能否组成三角形,如果能够组成三角形,则输出三角形的面积,否则输出错误。三角形面积公式:area=sqrt(s(s-a)(s-b)(s-c)),其中s=1/2(a+b+c)。(提示:sqrt(x)属于math.h)

#include

#include

main()

{

float x,y,z;

float area,s;

printf("please input:");

scanf("%f%f%f",&x,&y,&z);

if((x+y<=z)||(z+y<=x)||(x+z<=y))

printf("no\n");

else

{

s=(x+y+z)/2;

area=sqrt(s*(s-x)*(s-y)*(s-z));

printf("%f\n",area);

}

}

11编程:判定用户输入一个不大于999的正整数是否为一个回文数。回文数是指正读和反读都相同的数。

#include

main()

{

int a,x,y,z;

printf("please input a number ");

scanf("%d",&a);

if(0

{

x=a/100;

y=(a-100*x)/10;

z=a%10;

if(x==0)

{

if(y==z)

printf("Yes\n");

else

printf("no\n");

}

else if(x==z)

printf("yes\n");

else

printf("no\n");

}

}

12编程:从键盘输入一个两位数的正整数a,将其转换形成一个整数b并输出b。转换的方式是:将a中较大的数码作为b的十位,剩余的数码作为b的个位。例如,当输入a=49,则结果b=94。

#include

main()

{

int a,b,x,y;

printf("please input a number ");

if(0

{

x=a/10;

y=a%10;

if(x>=y)

{

b=a;

}

else

{

b=10*y+x;

}

printf("the result is %d",b);

}

else

printf("a wrong number");

}

13编程:从键盘输入一个两位数的正整数a,将其转换形成一个整数b并输出b。转换的方式是:将a中较小的数码作为b的十位,剩余的数码作为b的个位。例如,当输入a=54,则结果b=45。参考12

14初始化数组a中包含10个不同的整数,要求从键盘输入一个整数,若这个整数在数组中则从数组中删除这个整数并输出删除后的数组,否则输出no。

#include

main()

{

int a[10]={2,3,4,1,5,6,7,8,9,10},i,x,j,k;

printf("please input a number ");

scanf("%d",&x);

for(i=0;i<10;i++)

{

if(a[i]==x)

{

for(j=i;j<10;j++)

a[j]=a[j+1];

for(k=0;k<9;k++)

printf("%3d",a[k]);

break;

}

else if(i==9)

}

}

15初始化一字符串(字符串中的每个字符各不同),要求从键盘输入一个字符,删除字符串中和输入字符相同的字符,输出处理后的字符串。

#include

main()

{

char a[7]={"howare"};

char b[1];

int i,j,k;

printf("please input the string :");

gets(b);

for(i=0;i<7;i++)

{

if(a[i]==b[0])

{

for(j=i;j<5;j++)

{

a[j]=a[j+1];

}

for(k=0;k<5;k++)

printf("%c",a[k]);

printf("\n");

break;

}

else if(a[i]=='\0')

{

printf("no\n");

break;

}

}

}

16计算一个4*4矩阵的主对角线的元素之和以及最大元素的值。要求初始化矩阵,输出计算结果并输出该矩阵。

#include

main()

{

int a[4][4]={{2,123,1,5},{4,22,56,23},{5,7,89,23},{1,2,3,4}};

int i,sum=0,max,j;

for(i=0;i<4;i++)

sum=sum+a[i][i];

max=a[0][0];

for(i=0;i<4;i++)

{

for(j=0;j<4;j++)

if(max

max=a[i][j];

}

printf("the sum is %d and the max number is %d\n",sum,max);

}

17计算一个3*3矩阵的所有元素之和以及所有元素中的最大元素的值。要求初始化矩阵,输出计算结果并输出该矩阵。参考16,懒得弄了

#include

main()

{

int a[3][3]={{1,2,3},{6,7,8},{1,3,4}};

int i,j,s1=0,s2;

for(j=0;j

{

s2=s2+a[i][j];

}

s1=s1+s2;

}

printf("sum=%d\n",s1);

}

18初始化一字符串(长度小于20个字符),取出第3个字符到第7个字符组成的子串,输出该子串。

#include

main()

{

char a[20]={"asldfkjasldkf"};

int i;

puts(a);

for(i=2;i<7;i++)

printf("%c",a[i]);

printf("\n");

}

19编程计算一个a[3][4]数组的最小值所在位置,输出该位置以及a[3][4]矩阵。要求初始化矩阵。参考16

#include

main()

{

int a[3][4]={{4,6,4,7},{8,5,2,14},{87,76,75,33}};

int i,j,c,b,min;

min=a[0][0];

for (i=0;i<3;i++)

{

for (i=0;i<3;i++)

{

for (j=0;j<4;j++)

{

if (a[i][j]

{

min=a[i][j];

b=i+1;

c=j+1;

}

}

}

printf("4 6 4 7\n8 5 2 14\n87 76 75 33\n");

printf("行=%d\n列=%d\n",b,c);

}

20初始化一矩阵a[4][4],计算每行的最大元素值,要求输出原始矩阵以及每行的最大元素值。

#include

main()

{

int a[4][4]={{2,123,1,5},{4,22,56,23},{5,7,89,23},{1,2,3,4}},i,j,max;

for(i=0;i<4;i++)

{

max=a[i][0];

for(j=0;j<4;j++)

{

printf("%3d",a[i][j]);

}

printf("\n");

}

for(i=0;i<4;i++)

{

for(j=0;j<4;j++)

{

if(max

max=a[i][j];

}

}

printf("the max number is %d\n",max);

}

21初始化一矩阵a[4][4],计算每列的最大元素值,要求输出原始矩阵以及每列的最大元素值。参考20

22编程计算a[3][4]数组的最大值所在位置,输出该位置以及a[3][4]矩阵。要求初始化矩阵。参考20

23编程实现:计算矩阵a[3][4]每行元素的和。要求输出原始矩阵以及每行元素的和值。要求初始化矩阵。参考20

24编程实现:计算矩阵a[3][4]每列元素的和。要求输出原始矩阵以及每列元素的和值。要求初始化矩阵。参考20

#include

main()

{

int a[3][4]={{4,6,4,7},{8,5,2,14},{87,76,75,33}};

int i,j,sum;

for(i=0;i<3;i++)

{

sum=0;

for(j=0;j<4;j++)

sum+=a[i][j];

printf("第%d列和为%d\n",j+1,sum);

}

}

25一维数组中存放任意10个整数,从第四个数据开始直到最后一个数据,依次向右移动一个位置。输出原始数据和移动后的结果。要求初始化数组。例如:原始数据为:6 10 2 9 8 7 17 18 23 45,输出结果为:6 10 2 9 9 8 7 17 18 23 45。

#include

main()

{

int a[11]={6,10,2,9,8,7,17,18,23,45},i;

printf("the origin strings is");

for(i=0;i<10;i++)

printf("%3d",a[i]);

printf("\n");

for(i=10;i>3;i--)

a[i]=a[i-1];

printf("the changed strings is");

for(i=0;i<11;i++)

printf("%3d",a[i]);

printf("\n");

}

26编程实现:在任意字符串a中将与字符c相同的所有元素的下标值分别存放在数组b中,输出字符串a和数组b。要求初始化数组a。

#include

main()

{

int a[10]={6,10,2,9,8,7,17,18,23,45};

int b [11];

int i,j;

for (i=0;i<4;i++)

{

b[i]=a[i];

printf ("%d ",b[i]);

}

for (j=4;j<11;j++)

{

b[j]=a[j-1];

prinff("%d",b[j]);

}

printf ("\n");

}

27初始化一个存放10个整数的数组,删除其中所有的小于0的数据。例如:当前的数据为1 –1 –6 8 9 6 6 –5 6 9 ,则输出结果为1 8 9 6 6 6 9。

#include

main()

{

int a[10]={1,-1,-6,8,9,6,6,-5,6,9};

int i;

printf("the origin string is");

for(i=0;i<10;i++)

printf("%3d",a[i]);

printf("\n");

东北大学机械学院C语言考试题库与答案

东北大学机械学院C语言答案 题目:根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。 5 题目:输入一个整数,当为65时显示A,66时显示B,68时显示C,其他值时显示END。(可选用switch语句编写) 6 题目:编写程序将用 户输入的字母进行大小写转换。 7 题目:编程判断输入的正整数是否即是5的倍数又是7的倍数。若是则输出该数;否则输出-1。 8 题目:输入一个整数,判断它是奇数还是偶数并输出。 9 题目:从键盘输入二个整数a、b,将其按大到小排列。 10 题目:找出不超过1000的十位数字为1,个位数字为3或7的所有数。例如:13、17、113、317等。 11 题目:输入一个整数,判断该数是否能被3,5,7整除,并输出以下信息之一: (1)能同时被3,5,7整除; (2)能被其中两数(要指出哪两个)整除; (3)被其中一个数(要指出哪一个)整除; (4)不能被3,5,7任一个整除。 12 题目:输入一个5位的正整数,判定该正整数是否为一个回文数。(所谓回文素数是指正读和反读都相同的数,例如12321)。 13 题目:假设变量a、b、c为整数,从键盘读入a、b、c的值,当a为1时显示b与c之和,a为2时显示b与c之差,a为3时显示b与c之积,a为4时显示b/c之商,其他数值不做任何操作。 14 题目:输入一个整数,将其数值按小于10,10~99,100~999,1000以上分类并显示(例如:输入358时,显示358 is 100 to 999)。 15 题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的面积。 16 题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的类型(等边、等腰、直角、一般)。 17 题目:计算二次方程的根。

东北大学c语言编程试题及其答案

东北大学 C 语言题库 第一部分( 选择题 ) 1构成C 语言的基本单位是 __________ 。你的答案是:正确答案是 :B 过程 函数 语句 命令 2、设x 为整型变量,不能正确表达数学关系:5 x>5&&x<10 x==6||x==7||x==8||x==9 !(x<=5)&&(x<10) 3、在C 语言中,逻辑运算符的优先级从高到低的排列顺序为 是:D &&、 || 、 || 、 &&、 &&、 ! 、 || ! 、 &&、 || 4、下面语句中,正确的是 ______ 。你的答案是:正确答案是 :D printf ( "%c\n" , "student" ); printf ( "%c\n" , "c" ); a=2,b=1 a=1,b=0 a=2,b=2 7、执行下面程序段的结果是 ______ 。 int x=0 ;do { printf (“ %2d ”, x-- ); }while (x ); 你的答案是:正确答案是 :D 打印出 321 打印出 23 不打印任何结果 陷入死循环 8、 设x=10, y=5; z=15,执行下面一段程序后 z 的结果是 _____ 。If (x>y ) if ( y>z ) x=y ; else z=y ;你的答案是:正确答案是 :C 7 6 5 for (表达式 1 ; 0;表达式 3) for (表达式 1 ; 1;表达式 3) for (表达式 1 ;表达式 1; 表达式 3) for (表达式 1 ;表达式 3; 表达式 3) 6、 执行下面程序段的结果是 。 main() { int x=1,a=0,b=0; switch(x) { case 0:b++; printf ( "%s\n" , &a ); printf ( "%s\n" , "hello" ); 5、对于 for (表达式 1;;表达式 3) 可以理解为 _____ 。你的答案是:正确答案是 :B case 1:a++; case 2:a++;b++; } printf("a=%d ,b=%d",a ,b); } 你的答案是:正确答案是 :B ____ 。你的答案是:正确答案

东北大学C语言期末题库.

C 语言提纲 总体上必须清楚的 : 1 程序结构是三种 : 顺序结构 , 循环结构 (三个循环结构 , 选择结构 (if 和 switch 2 读程序都要从 main(入口 , 然后从最上面顺序往下读 (碰到循环做循环 , 碰到选择做选择。 3 计算机的数据在电脑中保存是以二进制的形式 . 数据存放的位置就是他的地址 . 4bit 是位是指为 0 或者 1。 byte 是指字节 , 一个字节 = 八个位 . 5 一定要记住二进制如何划成十进制。 概念常考到的: 1、编译预处理不是 C 语言的一部分,不再运行时间。 C 语言编译的程序称为源程序,它以 ASCII 数值存放在文本文件中。 2、每个 C 语言程序中 main 函数是有且只有一个。 3、在函数中不可以再定义函数。 4、算法的是一定要有输出的,他可以没有输入。 5、 break 可用于循环结构和 switch 语句。 6、逗号运算符的级别最低。 第一章 1合法的用户标识符考查: 合法的要求是由字母,数字,下划线组成。有其它元素就错了。

并且第一个必须为字母或则是下划线。第一个为数字就错了。 关键字不可以作为用户标识符号。 main define scanf printf 都不是关键字。迷惑你的地方 If 是可以做为用户标识符。因为 If 中的第一个字母大写了,所以不是关键字。 2实型数据的合法形式: 2.333e-1 就是合法的,且数据是 2.333×10-1。 考试口诀:e 前 e 后必有数, e 后必为整数。 . 3字符数据的合法形式 :: '1' 是字符占一个字节, "1" 是字符串占两个字节 (含有一个结束符号。 '0' 的 ASCII 数值表示为 48, 'a' 的 ASCII 数值是 97, 'A'的 ASCII 数值是 65。 4 整型一般是两个字节 , 字符型是一个字节,双精度一般是 4个字节: 考试时候一般会说,在 16位编译系统,或者是 32位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节 , 字符型是一个字节,双精度一般是 4个字节就可以了。 5转义字符的考查: 在程序中 int a = 0x6d,是把一个十六进制的数给变量 a 注意这里的 0x 必须存在。在程序中 int a = 06d, 是一个八进制的形式。 在转义字符中,’ \x6d’ 才是合法的, 0不能写,并且 x 是小写。 ‘ \141’ 是合法的, 0是不能写的。 ‘ \108’是非法的,因为不可以出现 8。 6算术运算符号的优先级别:

东北大学c语言编程试题及其答案

东北大学C语言题库 第一部分(选择题) 1、构成C语言的基本单位是________。你的答案是:正确答案是:B 过程 函数 语句 命令 2、设x为整型变量,不能正确表达数学关系:5 x>5&&x<10 x==6||x==7||x==8||x==9 !(x<=5)&&(x<10) 3、在C语言中,逻辑运算符的优先级从高到低的排列顺序为_____。你的答案是:正确答案是:D &&、||、! ||、&&、! &&、!、|| !、&&、|| 4、下面语句中,正确的是_____。你的答案是:正确答案是:D printf("%c\n","student"); printf("%c\n","c"); printf("%s\n",&a); printf("%s\n","hello"); 5、对于for(表达式1;;表达式3)可以理解为_____。你的答案是:正确答案是:B for(表达式1;0;表达式3) for(表达式1;1;表达式3) for(表达式1;表达式1;表达式3) for(表达式1;表达式3;表达式3) 6、执行下面程序段的结果是_____。main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d",a,b); }你的答案是:正确答案是:B a=1,b=1 a=2,b=1 a=1,b=0 a=2,b=2 7、执行下面程序段的结果是_____。int x=0;do { printf(“%2d”,x--);}while(x);你的答案是:正确答案是:D 打印出321 打印出23

东北大学机械学院C语言考试题库及答案完整版

东北大学机械学院C语言考试题库及答案 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

东北大学机械学院C语言答案 题目:根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。 5 题目:输入一个整数,当为65时显示A,66时显示B,68时显示C,其他值时显示END。(可选用switch语句编写) 6 题目:编写程序将用户输入的字母进行大小写转 换。 7 题目:编程判断输入的正整数是否即是5的倍数又是7的倍数。若是则输出该数;否则输出-1。 8 题目:输入一个整数,判断它是奇数还是偶数并输出。 9 题目:从键盘输入二个整数a、b,将其按大到小排列。 10 题目:找出不超过1000的十位数字为1,个位数字为3或7的所有数。例如:13、17、113、317等。 11 题目:输入一个整数,判断该数是否能被3,5,7整除,并输出以下信息之一: (1)能同时被3,5,7整除; (2)能被其中两数(要指出哪两个)整除; (3)被其中一个数(要指出哪一个)整除; (4)不能被3,5,7任一个整除。 12 题目:输入一个5位的正整数,判定该正整数是否为一个回文数。(所谓回文素数是指正读和反读都相同的数,例如12321)。 13 题目:假设变量a、b、c为整数,从键盘读入a、b、c的值,当a为1时显示b与c之和,a为2时显示b与c之差,a为3时显示b与c之积,a为4时显示b/c之商,其他数值不做任何操作。 14 题目:输入一个整数,将其数值按小于10,10~99,100~999,1000以上分类并显示(例如:输入358时,显示358 is 100 to 999)。 15 题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的面积。

东北大学c语言题库30题

题号题目几 题 1编写一个售货机(POS)计算程序,用于水果店售货员算账。苹果每千克3.2元,梨每千克1.96元,香蕉每千克3元,樱桃每千克24元。某顾客购买1.5斤苹果, 2斤梨,3斤香蕉,1.5斤樱桃,付给售货员100元。要求规范输出这位顾客购 买各类水果的名称,对应的重量和应付价钱,显示顾客所付款项,输出应找回的 款项。 1 2编写一个程序,对输入的一组整数,分别统计其中正整数和负整数的个数(0作 为结束标志)。 1 3统计100-500之间各个数字之和为9的三位数,输出这些三位数。例如351的各 个数字之和为9。 1 4编程求1-1000之间的所有完数(完数定义:一个数恰好等于它的除自身外的所 有因子之和)。 #include main() { static int k[10]; int i,j,n,s; for(j=2;j<1000;j++) { n=-1; s=j; for(i=1;i<=j/2;i++){ if((j%i)==0) {n++; s=s-i; k[n]=i; } } if(s==0) { printf("%d is a wanshu",j); for(i=0;i<=n;i++) printf("%d\n",k[i]); } } } 1 5已知银行整存整取存款不同期限的利率分别为:3.30%期限半年;3.50%期限一年;4.40%期限二年;5.00%期限三年;5.50%期限五年;到期利息税为5%。要求输入 存取的本金和期限,求到期能从银行得到的利息、本金及总和。 #include main( ) 1

题号 题目几 题{int year; float money,rate,total; /* money:本金 rate:月利率 total:本利合 计*/ printf("Input money and year =?"); scanf("%f%d", &money, &year); /* 输入本金和存款年限 */ if(year==1) rate=0.00315; /* 根据年限确定利率 */ else if(year==2) rate=0.00330; else if(year==3) rate=0.00345; else if(year==5) rate=0.00375; else if(year==8) rate=0.00420; else rate=0.0; total=money + money * rate * 12 * year; /* 计算到期的本利合计 */ printf(" Total = %.2f\n", total); } 6输入三角形的三边长,判断这个三角形是否是直角三角形。1 7输入一串字符(以回车键结束),统计其中数字、大写字母、小写字母以及其他 字符的个数。 #include main() {int n=0,c; c=getchar(); while(c!='\n') { if(c>='0'&&c<='9') n++; c=getchar(); } printf("%d",n); getchar(); } 1 8编写程序:找出不超过1000的十位数字为1,个位数字为3或7的所有数。例如:13、17、113、317等。 main( ) {int x, a,b,c; printf(“enter a number(<1000):\n”); scanf("%d",&x); a=x/100; b=x%100/10; c=x%10; if (b==1) 1

东北大学C语言期末考试题及答案(1)(

东北大学C语言期末考试题及答案(1)(2009-12-15 18:33:28) 标签:c语言东北大学考试杂谈中国教 分类:学习 育 1、构成C语言的基本单位是___B____。 过程 函数 语句 命令 2、设x为整型变量,不能正确表达数学关系:55&&x<10 x==6||x==7||x==8||x==9 !(x<=5)&&(x<10) 3、在C语言中,逻辑运算符的优先级从高到低的排列顺序为__D___。 &&、||、! ||、&&、! &&、!、|| !、&&、|| 4、下面语句中,正确的是__D___。 printf("%c\n","student"); printf("%c\n","c"); printf("%s\n",&a); printf("%s\n","hello"); 5、对于for(表达式1;;表达式3)可以理解为__B___。 for(表达式1;0;表达式3) for(表达式1;1;表达式3)

for(表达式1;表达式1;表达式3) for(表达式1;表达式3;表达式3) 6、执行下面程序段的结果是__B___。 main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d",a,b); } a=1,b=1 a=2,b=1 a=1,b=0 a=2,b=2 7、执行下面程序段的结果是__D___。 int x=0; do { printf(“%2d”,x--); }while (x); 打印出321 打印出23 不打印任何结果 陷入死循环 8、设x=10,y=5;z=15,执行下面一段程序后z的结果是__C___。 If(x>y) if(y>z)x=y; else z=y; 7 6 5 4 9、如果一个函数被说明为static,那么__B___。 该函数只能被main函数调用 该函数能被当前文件的函数调用,但不能被其他文件的函数调用 该函数不能被当前文件的函数调用,可以被其他文件的函数调用 任何文件的函数都可以调用该函数 10、下面关于局部变量的描述中,错误的是__D___。 函数的局部变量的有效范围只能在本函数

东北大学16春学期《C语言及程序设计》在线作业参考答案

东北大学16春学期《C语言及程序设计》在线作业参考答案 一、单选题: 1.下列程序的输出结果是( )main( ){intb=4;b*=b+=b+b;printf(“%d\n”,a);} (满分:5) A. 16 B. 32 C. 96 D. 144 2.有下列语句和赋值语句:(1)charstr[]=”iamaboy.”(2)charstr[12]=”iamaboy.”(3)char*p=”iamaboy.”(4)p=”iamaboy.”下列说法正确的是( ) (满分:5) A. 只有(1)、(2)正确 B. 只有(3)、(4)正确 C. 只有(1)、(3)、(4)正确 D. 只有(3)正确 3.下面对指针变量的叙述,正确的是( ) (满分:5) A. 指针变量可以加上一个指针变量 B. 可以把一个整形数赋给指针变量 C. 指针变量的值可以赋给指针变量 D. 指针变量不可以有空值,即该指针变量必须指向某一变量 4.若有定义:intA[3][4];能表现数组元素A[1][1]的是( ) (满分:5) A.(A[1]+1) B. *(A[1][1]) C.(*(A+1)[1]) D. *(A+5) 5.以下程序段执行后输出结果( )。inti;for(i=1;;i++);printf(“%d”,i++); (满分:5) A. 1 B. 2 C. 3 D. 死循环 6.以下程序段( )。intx=1,y=4;printf(x A. 输出控制格式错误 B. 输出:x=1 C. 输出:y=1 D. 输出:y=4 7.已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句ch1='A'+'6'-'3';后,ch1中的值为( )。 (满分:5) A. D B. 68 C. 一个不确定的值 D. C 8.对于循环语句while(1);下面( )是正确的。 (满分:5) A. 死循环 B. 循环一次

东北大学C语言主观题

主观题 题目 1编程:要求输入整数a和b,若a*a+b*b大于100,则输出a*a+b*b百位以上的数字,否则输出两数之和a+b。 #include main() { int a,b,c; printf("please input a="); scanf("%d",&a); printf("please input b="); scanf("%d",&b); if(a*a+b*b>100) { c=(a*a+b*b)/100; printf("%d",c); } else printf("%d\n",a+b); } 4编程:输入三个正整数x,y,z,将这三个数由小到大输出。 #include #include main() { int a[3],i,m ax,j; printf("please input the 3 numbers:"); for(i=0;i<3;i++) { scanf("%d",&a[i]); } for(i=0;i<3;i++) { for(j=0;j<2;j++)

if(a[j]>a[j+1]) { max=a[j]; a[j]=a[j+1]; a[j+1]=max; } } printf("the result is"); for(i=0;i<3;i++) printf(" %d",a[i]); printf("\n"); } 5编程:从键盘输入一个年号,判断该年号是否为闰年,并输出结果。闰年是能被4整除但不能被100整除;或能被100整除且能被400整除的年号。 一解:#include main() { int year ; printf ("input the year :"); scanf ("%d",&year); if (year%4==0&&year%100!=0;) printf ("%d is a leap year \n",year ); else if (year%100==0&&year%400==0) printf ("%d is a leap year\n",year); else printf ("%d is not a leap year \n",year); } 二解:#include int main(void) { int year; scanf("%d",&year); if((year%4==0)&&(year%100!=0)||(year%400==0)) printf("这年是闰年\n"); else printf("这年不是闰年\n"); } 6编程实现四位电话号码的升位。原来电话号码为1、3、5、7、9打头的号码前加2,原来电话号码为2、4、6、8打头的加3,例如:输入1234,则输出:21234。 #include main() {

东北大学(秦皇岛)c语言测验题

东北大学(秦皇岛)c语言测验题

————————————————————————————————作者:————————————————————————————————日期:

一、选择题答案 1. 若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是 A) swich(a+b); B) switch(a*a+b*b) { case 1:y=a+b; break; {case 3: case 0:y=a-b; break; case 1:y=a+b;break; } case 3:y=b-a,break; } C) switch a D) switch(a-b) { case c1 :y=a-b; break {default:y=a*b;break case c2: x=a*d; break case 3:case 4:x=a+b;break default:x=a+b; case 10:case 11:y=a-b;break; } } 你所选择的答案是:*,正确答案是:D × 2. 以下程序执行后sum的值是 main() { int i , sum; for(i=1;i<6;i++) sum+=i; printf("%d\n",sum); } A)15 B)14 C) 不确定 D)0 你所选择的答案是:*,正确答案是:C × 3. 若变量c为char类型,能正确判断出c为小写字母的表达式是 A) 'a'<=c<= 'z' B) (c>= 'a')||(c<= 'z') C) ('a'<=c)and ('z'>=c) D) (c>= 'a')&&(c<= 'z') 你所选择的答案是:*,正确答案是:D × 4. 以下所列的各函数首部中,正确的是 A) void play(var :Integer,var b:Integer) B) void play(int a,b) C) void play(int a,int b) D) Sub play(a as integer,b as integer) 你所选择的答案是:*,正确答案是:C × 5. 下列程序的运行结果是 void fun(int *a, int *b) { int *k; k=a; a=b; b=k;

相关文档
最新文档