c语言入门基础题及答案(C语言的一些基础题)
本文目录
- C语言的一些基础题
- 几道C语言的入门问题,给过程,在线等
- 关于C语言基础编程题(初学者求指点啊!!!)
- C语言入门经典(第5版)2.16练习的答案!
- C语言基础题,谁能帮忙解答一下,要有详细注释,谢谢
- 几道C语言基础的选择题,求解释,谢谢
C语言的一些基础题
1 #include 《stdio.h》 2 main() 3 { float s; 4 int I,sz=0; 5 for(I=0;I《5;I++) 6 scanf("%d",s+I); 7 for(I=0;I《5;I++) 8 sz+=s; 9 printf("\n%f",(float)sz); 10 } A) 没有错误 B) 第4行错误 C) 第6行错误 D) 第9行错误 C s数组是实型,不能用整型输入下列合法的数组定义是( )。 A) int a="string"; B) int a={0,1,2,3,4,5}; C) char a="string"; D) char a={0,1,2,3,4,5}; D A.a="string"; 就对了以下程序段给数组所有的元素输入数据,请选择正确答案填入( )。 #include 《stdio.h》 main() { int a,i=0; while(i《10) scanf("%d",______); } A) a+(i++) B) &a C) a+i D) &a D AC显然不对 B没有输入a的值设有: static char str="Beijing"; 则执行: printf("%d\n",strlen(strcpy(str,"China"))); 后的输出结果为( )。 A) 5 B) 7 C) 12 D) 14 A strcpy为字符串拷贝函数 strlen为字符串统计函数阅读下面的程序 main() { inn,I,j,k; for(I=0;I《2;I++) n=0; k=2; for(I=0;I《k;I++) for(j=0;j《k;j++) n+1; printf("%d\n",n); } 上面程序的输出结果是( )。 A) 不确定的值 B) 3 C) 2 D) 1 题有问题for(I=0;I《2;I++) n=0; 初始化n为04次循环for(I=0;I《k;I++) for(j=0;j《k;j++) n+1; 得n=4执行printf("%d\n",n本身就不对,越界了定义如下变量和数组: int I; int x={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是( )。For(I=0;I《3;I++) printf("%d ",x); A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 9 A I=0输出(0)(2)=3,I=1输出X(1)(1)=5,I=2输出X(2)(0)=7 若有以下说明: int a={1,2,3,4,5,6,7,8,9,10,11,12}; char c=’a’,d,g; 则数值为4的表达式是( )。 A) a B) a C) a D) a D A是不确定的值,B得5,C得2Printf("%d\n",strlen("\t\"\065\xff\n)); A) 5 B) 14 C) 8 D) 输出项不合法,无正常输出 A 有5个逃逸字元\t 水平制表符Tab \" 双引号 \065 以8进制表示的5 \xff 以16进制表示的无名字符。打印出来显示为占两个字符位的空格 \n 换行符 若有以下定义和语句: char s; s="abcd"; printf("%s\n",s); 则输出的结果是( )。 A) 输出abcd B) 输出a C) 输出abcd D) 编译不通过 D 字符串不能负值给地址应为s="abcd";下述程序输出的结果是( )。 #include 《stdio.h》 main() { char ch={"65ab21"}; int I,s=0; for(I=0;ch《=’9’;I+=2) s=10*s+ch-’0’; printf("%d\n",s); } A) 12ba56 B) 6521 C) 6 D) 62 C 第一次ch=a跳出 s=6 下述函数引用中,( )是含有错误的。其中s的定义如下: char s; A) scanf("%10s",s); B) printf("%.5s",s); C) puts(s+3); D) gets(s); C 若字符串s未分配内存定义如下数组s: char s; 若准备将字符串“This is a string.”记录下来,( )是错误的输入语句。 A) gets(s+2); B) scanf("%20s",s); C) for(I=0;I《17;I++) S=getchar(); D) while((c=getchar())!=’\n’) s=c;C 只是输入This is a string.没有输入\n
几道C语言的入门问题,给过程,在线等
1、C A选项表示8进制的1;B选项表示十六进制的1;C选项错误,0开头的表示八进制的整数常量,范围是0-7,08显然超过了8进制的表示范围;D选项表示十进制的8;2、B f表示单精度,不写的话默认都是双精度;3、0X10;两个十六进制的数进行按位与运算,首先把两个十六进制数化成二进制OX14:0010 0000OX18:0011 0101,然后进行按位与,相同得1,不同得0 0010 0000& 0011 0101--------------=0010 0000 把它化成十六进制就是OX10;所以答案是10;4、(b》》3)&1=1就是1,如果=0就是0;char是一个字节 8位 表示成xxxx 1xxx(假设左边起第五位是1),那么右移三位后,原来的第五位就是现在的最后一位了,和1进行按位与 XXXX XXX1&0000 0001 结果就很明显了,如果第五位是1,结果就是1,否则为0;5、0X10;你输入的是十进制的20,35,但是你要先把他们转化成十六进制,在转化成二进制进行按位与运算,20-》0XE-》0000 1110(2);35-》0x23-》0010 1011(2) 0000 1110& 0010 1011—————— 0000 0010 这就表示的十六进制的0X10 ;
关于C语言基础编程题(初学者求指点啊!!!)
1、#include 《stdio.h》 void main() { int n=1; printf("%d%d%d\n",n,++n,n--); }n一开始为1,则第一个输出1,然后第二个++n,这个自增符与n++有区别,++n是先加1再赋值,n++则是先赋值,在加1,因而输出2,第三个n--和--n是一对,n--是先赋值,再减1,而--n是先减1再赋值;则结果为1222、#include 《stdio.h》 void main() { int x,y; y=(x=1,++x,x+2); printf("%d\n",y); }这题是说明逗号表达式,每一个式子从左向右依次计算,其结果为最后一个式子的值优先级方面,括号的优先级最高,而逗号的优先级最低,然后赋值运算符大于逗号运算符;原式的结果是先计算括号里面的逗号表达式,x=1,++x,x+2;其中x的值变成2,括号的结果为4最后y的值为4;3、又是一道逗号运算符的,表示无力 #include 《stdio.h》 void main() { int a=2; printf("%f\n",(1,2,3)-a) }由第二题之结果为1.0000004、#include 《stdio.h》 void main() { int x=10,y=9; int a,b,c; a=(--x==y++)?--x:++y; b=x++; c=y; printf("%d%d%d",a,b,c); }此题为优先级运算; a=(--x==y++)?--x:++y;优先级排列由高到低:括号()《 自增自减++ -- 《 判断== 《 条件判断?:《 赋值=括号里面--x=9;y++=9,判断显然为真,y=10,x=9条件判断为真,则执行地一个--x=8;++y不执行最后赋值为8即结果为8
C语言入门经典(第5版)2.16练习的答案!
/* Exercise 2.3 Calculating volume price of alternative products *//* The only problem here is to devise a way to determine the price *//* for the product type. Here I used the product type value to do this. */#include 《stdio.h》int main(void){ double total_price = 0.0; /* Total price */ int type = 0; /* Product type */ int quantity = 0; /* Quantity ordered */ const double type1_price = 3.50; const double type2_price = 5.50; /* Get the product type */ printf("Enter the type (1 or 2): "); scanf("%d", &type); /* Get the order quantity */ printf("Enter the quantity: "); scanf("%d", &quantity); /* Calculate the total price */ total_price = quantity*(type1_price + (type-1)*(type2_price-type1_price)); /* Output the area */ printf("The price for %d of type %d is $%.2f\n", quantity, type, total_price); return 0;}///////////////////////////////////////////////////////////////////////////////////* Exercise 2.4 Calculating average hourly pay rate */#include 《stdio.h》int main(void){ double pay = 0.0; /* Weekly pay in dollars */ double hours = 0.0; /* hours worked */ int dollars = 0; /* Hourly rate - dollars */ int cents = 0; /* ... and cents */ /* Get the Weekly pay */ printf("Enter your weekly pay in dollars: "); scanf("%lf", &pay); /* Get the order quantity */ printf("Enter the hours worked: "); scanf("%lf", &hours); /* Calculate the average hourly rate - dollars first */ dollars = (int)(pay/hours); /* to get the cents we can subtract the dollars from the hourly rate */ /* and multiply by 100 to get cents. If we then add 0.5 and convert the result */ /* back to an integer, it will be to the nearest cent. */ cents = (int)(100.0*(pay/hours - dollars) +0.5); /* Output the average hourly rate */ printf("Your average hourly pay rate is %d dollars and %d cents.\n", dollars, cents); return 0;}
C语言基础题,谁能帮忙解答一下,要有详细注释,谢谢
答案是:1 65 1.5 6.5【解析】对于赋值符号,计算方向是从赋值符号右边往左计算的,所以我们看:a = f /= c *= (x=6.5);我们就能很容易地求出:x = 6.5;c = c * x = 10 * 6.5 = 65;(这里注意下,虽然c是字符型,但是整型也是可以赋给它的,毕竟字符也是和ASCII对应的,字符型的变量,既可以给一个字符,也可以给一个整型值,它也对应一个字符(ASCII对应一个字符),输出的时候,如果格式控制是%d,就是输出字符的ASCII值)f = f / c = 1.5;(这里f是float型)a = f; (f是float型,而a是整型,就只能取整了,因此是1)
几道C语言基础的选择题,求解释,谢谢
1、首先我们知道宏只是简单的字符替换,那么宏NUM实际就等价于(N+1+1)*N+1/2,再等价于(2+1+1)*2+1/2,然后要注意优先级的问题,NUM=8,那么循环就是1~8。2、A、*p //就是a B、a C、*a //就是a D、a3、我们知道字符数组是以数字0(也就是’\0’)为结束标识的。p指向的是字符数组第一个元素’H’,那么p+1指向’e’,p+2指向’l’,p+3指向’l’,p+4指向’o’,p+5指向’\0’。3、A、p+=2,*(p++) //p指向元素1,p+=2后p指向元素3,p++:先使用再自增,则*(p++)就是3 B、p+=2,*++p //++p先自增再使用,则*++p是4 C、p+=3,*p++ //p+=3后p指向元素4 D、++*p //值为24、strcpy(s1,s2)将s2复制到s1并返回s1,即之后s1与s2内容是一样的,strlen取长度值为4。5、 A、scanf("%d%s",&p-》num,p-》name); B、scanf("%d%s",&p-》num,&p-》name); C、scanf("%d%s",&p.num,p.name); D、scanf("%d%s",&p.num,&p.name);以结构指针操作成员要用到成员运算符-》,那么C、D排除;scanf需要的是一个内存地址,p-》num是一个整型变量,要用取地址符&;结构中成员name是一个字符数组,p-》name表示的是这个字符数组的首地址,不需要再用取地址符。
更多文章:
acrobatpro(adobe acrobat pro是什么软件)
2024年6月24日 03:58
腾讯热血传奇官网(热血传奇客户端下载完整官方模拟器实用攻略)
2024年9月3日 05:05
阴阳师现世召唤阵SSR鸟居图怎么画现世召唤符图?阴阳师现世召唤阵SSR
2023年6月27日 15:00
看图软件acdsee(ACDSee这个软件是好用的看图软件吗)
2024年7月20日 11:35
孝昌8条笨蛇一起偷鸡,打结成团解不开,给蛇打死结能解开吗?为什么有时耳机线总是容易缠在一起该怎么办
2024年5月22日 06:57
宝宝论坛工具箱 解锁 解账号锁好不好用?宝宝论坛工具箱收费吗
2024年6月6日 16:46