- 下面的一段程序的输出结果为( ) (鲁科安全) D
#include <stdio.h>
int main()
{
if(-1)
printf("1");
else
printf("2");
if(0)
printf("3");
else
printf("4");
return 0;
}
A. 23 B. 24 C. 13 D. 14
解析:if语句中非零就是真
- ( )设int s = 100,要输出字符串"s的值是100"应使用下列哪个语句?(山东精电 A
A. printf("s 的值是%d", s); B. printf("s 的值是%s", s)
C. printf("s 的值是%x", s): D. printf("s 的值是%i", s)
解析:整型的转义标识符:%d,%ld,%u,%i,c语言中每个语句都应该以分号结尾
- if(n==8)和if(8== n)两种判断方式,哪一种更好,为什么?(泰华智)
- 解析:if(8==n)好,当少输出一个=时,后者编译器会产生报错,前者不会。
- if-elseif-else结构和switch-case结构,哪个效率高,为什么?(泰华智慧)
- 解析:再多分支语句下,swich-case效率高,因为swich只会判断一次条件
- 结构化程序设计所规定的三种基本控制结构是:( ) (易购软 C
A. 输入、处理、输出 B. 形、网形、环形
C. 顺序、选择、循环 D. 主程序、子程序、函数
- C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符:____c______ (智洋)
A. 必须为字母 B. 必须为下划线
C. 必须为字母或下划线 D. 可以是字母,数字和下划线中任一字符
- 若执行下面的程序时,从键盘上输入 5,则输出是 ( ) (智洋创 C
int main(int argc, char **argv)
{
int x;
scanf("%d", &x);
if(x++ > 5)
printf("%d\n", x);
else
printf("%d\n", x--);
return 0;
}
A. 7 B. 4 C. 6 D. 5
解析:x++为后置++,先判断后++,所以条件不满足,执行else语句,x--、同上,所以输出六
- 以下语句中,能够判断uiNum(unsigned int)可以被16整除的有()(H3C) bcd
A. if (((uiNum / 16) * 16) == uiNum)
B. if ((uiNum % 16) == 0)
C. if ((uiNum & 0x0F) == 0)
D. if (((uiNum >> 4) << 4) == uiNum)
- 编写一个程序。实现输入一个小写字母,程序输出它对应的大写字母。(提示:小写字母的ASCII码值比大写宇母大32) (中科四平)
-
#include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, const char *argv[]) { char a; printf("请输入一个小写字母\n"); scanf("%c",&a); if(a>='a'&&a<='z'){ //判断是不是小写字母 printf("%c\n",a+32); }else{ printf("输入有误,请重新输入\n"); } return 0; }
- 已知学生成绩(100分为满分)与等级的对应关系为: (中科四平)
成绩(grade) | 等级 |
90<=grade<=100 | A |
80<=grade<90 | B |
70<=grade<80 | C |
60<=grade<70 | D |
grade<60 | E |
请你编写一个程序,要求:输入学生成绩,输出学生成绩对应的等级。(提示:使用switch....case 语句)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int a;
printf("请输入成绩\n");
scanf("%d",&a);
if(a>=0&&a<=100){
switch(a/10){ //将成绩转换为单个数字以进行case的条件语句
case 10: case 9: printf("A级");break;
case 8:printf("B级");break;
case 7:printf("C级");break;
case 6:printf("D级");break;
default: printf("E级");break;
}
}
return 0;
}
- 编写一个程序。a=3,b=5,对a和b的值进行交换。 (北京君正集成电路)
-
#include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, const char *argv[]) { int a = 5,b = 9; int t; t = a; a = b; b = t; a = a + b; b = a - b; a = a - b; return 0; }
- 编写一个程序。实现输入一个三位数,判断是否是水仙花数。
水仙花数——各个位立方之和等于本身。
eg: 1*1*1 + 5*5*5 + 3*3*3 = 153,所以153是水仙花数
153由1个100 5个10 3个1
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int a;
printf("请输入一个三位数\n");
scanf("%d",&a);
if(a>99&&a<1000){
int g,s,b;
g = a%10;
s = a/10%10;
b = a/100%10;
if(g*g*g+s*s*s+b*b*b == a){
printf("%d是水仙花数\n");
}
}
return 0;
}
个位 = num%10
十位 = num/10%10
百位 = num/100%10
- 编写一个程序。实现输入一个年份,判断是不是闰年。
-
#include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, const char *argv[]) { int a; printf("请输入年份\n"); scanf("%d",&a); if((a%4==0&&a%100!=0)||a%400==0){ printf("该年份是闰年\n"); }else{ printf("该年份不是闰年\n"); } return 0; }
- 编写一个程序。请实现以下功能:(威海精讯畅通)
输入三个数,分别为年、月、日,输出此日是该年的第几天。
输入:
XXX XXX XXX
输出:
此日是该年的第XXX 天
示例:
输入 2020 2 20
程序输出 此日是该年的第51 天
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int year, month,day,num;
int m1 =31,m3 = 31,m5 = 31,m7 = 31, m8 = 31, m10 = 31, m12 = 31;
int m4 = 30, m6 = 30,m9 = 30, m11 = 30;
int m2 = 28;
printf("请输入年月日\n");
scanf("%d%d%d",&year,&month,&day);
if((year%4==0&&year%100!=0)||year%400==0){
m2 = 29;
}
if(month>=1&&month<=12){
switch(month){
case 12:num = num+m11;
case 11:num = num+m10;
case 10:num = num+m9;
case 9:num = num+m8;
case 8:num = num+m7;
case 7:num = num+m6;
case 6:num = num+m5;
case 5:num = num+m4;
case 4:num = num+m3;
case 3:num = num+m2;
case 2:num = num+m1;
case 1:num = num+day;
}
printf("是今年的第%d天\n",num);
}
return 0;
}
- 编写一个程序。输入三角形的 三个边长
判断能否构成三角形,如果能
输出能构成三角形
再输出是什么三角形
等边 [a==b && a==c && b==c]
等腰 [a==b || a==c || b==c]
直角(勾股定理)[a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a]
普通
如果不能
输出不能构成三角形
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int a,b,c;
printf("请输入三边\n");
scanf("%d%d%d",&a,&b,&c);
if((a+b>c||a+c>b||b+c>a){
if(a == b||b == c||a==c){
if(a==b&&b==c){
printf("等边三角形\n");
}else{printf("等腰三角形\n");}
}else if(a*a+b*b == c*c||b*b+c*c == a*a||a*a+c*c == b*b){
printf("直角三角形");
}else{printf("普通三角形");}
}else{printf("不是三角形\n");}
return 0;
}
- 编写一个程序。有 4 个变量 a,b,c,d,我们提前并不知道他们的值,请用你的方式将他们从大到小排序。算法任意。(山东丁一)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int a,b, c, d ,t;
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a<b)t = a,a = b, b = t;
if(b<c)t = b,b = c, c = t;
if(c<d)t = c,c = d, d = t;
if(a<b)t = a,a = b, b = t;
if(b<c)t = b,b = c, c = t;
if(a<b)t = a,a = b, b = t;
printf("%d%d%d%d",a,b,c,d);
return 0;
}