C语言平时作业4
C语言习题 (4)
a+b>c && b==c
!(a>b) && !c || 1
!(a+b) + c –1 && b + c/2
4.写出数学式子 的C语言表达式 。
5.将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式 。
a=(--y=x++) ? –y : ++x ;
b=y++ ; c=x ;
printf(“%d,%d,%d”,a,b,c);
}
A)6,9,7 B)6,9,6 C)7,9,6 D )7,9,7
16.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是 。
5.C语言对嵌套if语句的规定是:else总是与 。
A)其之前最近的if配对 B)第一个if配对
C)缩进位置相同的if配对 D)其之前最近的且尚未配对的if配对
6.设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为 。
A)1 B)2 C)3 D)4
7.下面 是错误的if语句(设int x,a,b;)
A)if (a=b) x++; B)if (a=<b) x++;
C)if (a-b) x++; D)if ( x ) x++;
下程序片段 。
main ( )
二.填空题
1.C语言提供6种关系运算符,按优先级高低它们分别是 , , , , , 等。
C语言试卷4
C语言模拟考试学号:4 姓名:童蕊蕊得分:1 ..................................................................单项选择以下叙述正确的是()。
A.用do-while语句构成的循环,在while后的表达式为非零时结束循环.B.do-while语句构成的循环不能用其它语句构成的循环来代替.C.用do-while语句构成的循环,在while后的表达式为零时结束循环D.do-while语句构成的循环只能用break语句退出.【评分报告得分:1.0 之 1.0 】【参考答案】正确C【学生答案】C假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。
A.2B.6C.8D.7【评分报告得分:0.0 之 1.0 】【参考答案】错误C【学生答案】[未答此题]以下选项中合法的实型常数是()。
A.E-3B..2E0C.1.3ED.5E2.0【评分报告得分:0.0 之 1.0 】【参考答案】错误B【学生答案】[未答此题]下面错误的说明语句是( ).A.int *a[10];B.int (*a)[10];C.int a['a'];D.int a[ ][ ];【评分报告得分:0.0 之 1.0 】【参考答案】错误D【学生答案】[未答此题]打开文件时,方式"w"决定了对文件进行的操作是()。
A.追加写盘B.只写盘C.可读可写盘D.只读盘【评分报告得分:0.0 之 1.0 】【参考答案】错误B【学生答案】[未答此题]能将高级语言编写的源程序转换为目标程序的是()。
A.编译程序B.链接程序C.解释程序D.编辑程序【评分报告得分:0.0 之 1.0 】【参考答案】错误A【学生答案】[未答此题]下面程序段运行的结果是( ).x=-1;do{x=x*x;}while (!x);A.循环执行一次B.有语法错误C.死循环D.循环执行两次【评分报告得分:0.0 之 1.0 】【参考答案】错误A【学生答案】[未答此题]若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是()。
c语言程序设计形考任务4答案
一、选择题(共30分.每小题2分)题目1标记题目假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”.则不正确的语句为()。
选择一项:a. struct BOOK *x=malloc(book);回答正确b. struct BOOK x={"C++ Programming",27.0};c. struct BOOK *x=malloc(sizeof(struct BOOK));d. struct BOOK *x=&book;反馈Your answer is correct.题目2标记题目假定有“struct BOOK{char title[40]; float price;} book;”.则正确的语句为()。
选择一项:a. struct BOOK x= &book;b. struct BOOK *x=&book;回答正确c. struct BOOK x=calloc(BOOK);d. struct BOOK *x=BOOK;反馈Your answer is correct.题目3标记题目在结构类型的定义中.不同数据成员的定义项之间采用的分隔符是()。
选择一项:a. 句点b. 冒号c. 分号回答正确d. 逗号反馈Your answer is correct.题目4标记题目假定一个结构类型的定义为“struct A{int a,b; double c;};”.则该类型的长度为()。
选择一项:a. 8b. 10c. 12d. 16反馈Your answer is correct.题目5标记题目假定一个结构类型的定义为“struct D{int a; D* next;};”.则该类型的长度为()。
选择一项:a. 4b. 8回答正确c. 12d. 16反馈Your answer is correct.题目6标记题目假定要访问一个结构指针变量x中的数据成员a.则表示方法为()。
安徽大学 C语言平时作业
A) 1 B) 2 C) 3 D) 4
已知int i=10;表达式"20-0<=i<=9"的值是____。
A) 0 B) 1 C) 19 D) 20
已知int x=1,y;执行下述语句后变量x的值是____。
有如下的定义和输入语句:
int a1,a2;char c1,c2;
scanf("%d%d",&a1,&a2);
scanf("%c%c",&c1,&c2);
若要求a1,a2,c1,c2的值分别为10、20、A和B,则正确的数据输入方式为( )
A. 1020AB B. 10 20<CR>AB<CR>
C. 10 20 AB<CR> D. 10 20AB<CR>
A) 0 B) 1 C) 2 D)非法字符串
已知:char a;int b;float c;double d;执行语句"c=a+b+c+d;"后,变量c的数据类型是。
A) int B) char C) float D) double
逗号表达式"(a=3*5,a*4),a+15"的值是____。
A) 15 B) 60 C) 30 D)不确定
a一个主程序和若干子程序b若干子程序c函数d若干过程以下叙述中正确的是ac语言的源程序不必通过编译就可以直接运行bc语言中的每条可执行语句最终都将被转换成二进制的机器指令cc源程序经编译形成的二进制代码可以直接运行dc语言中的函数不可以单独进行编译下列关于c语言用户标识符的叙述中正确的是a用户标识符中可以出现下划线和数字它们都可以放在用户标识符的开头b用户标识符中可以出现下划线但不可以放在用户标识符的开头c用户标识符中不可以出现中划线但可以出现下划线d用户标识符中可以出现下划线和中划线减号以下说法中正确的是ac语言程序总是从第一个定义的函数开始执行bc语言程序中要调用的函数必须在main函数中定义cc语言程序总是从main函数开始执行dc语言程序中的main函数必须放在程序的开始部分一个c程序的执行是从a本程序的main函数开始到main函数结束b本程序文件的第一个函数开始到本程序文件的最后一个函数结束c本程序的main函数开始到本程序文件的最后一个函数结束d本程序文件的第一个函数开始到本程序main函数结束c语言编程整个操作的过程是a编辑编译链接执行b编译编辑链接执行c链接编译编辑执行d编辑链接编译执行下列说法不正确的是a链接操作将生成扩展名为
C语言习题4
第五章选择结构程序设计5.1 选择题【题5.1】逻辑运算符两侧运算对象的数据类型。
A)只能是0或1B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据【题5.2】以下关于运算符优先顺序的描述中正确的是。
A)关系运算符<算术运算符<赋值运算符<逻辑与运算符B)逻辑与运算符<关系运算符<算术运算符<赋值运算符C)赋值运算符<逻辑与运算符<关系运算符<算术运算符D)算术运算符<关系运算符<赋值运算符<逻辑与运算符【题5.3】下列运算符中优先级最高的是。
A)< B)+ C)&& D)!=【题5.4】能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是。
A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B)(x>=1)||(x<=10)||(x>=200)||(x<=210)C)(x>=1)&&(x<=10)||(x>=200)&&(x<=210)D)(x>=1)||(x<=10)&&(x>=200)||(x<=210)【题5.5////////Xa b cA)(x<=a)&&(x>=b)&&(x<=c)B)(x<=a)||(b<=x<=c)C)(x<=a)||(x>=b)&&(x<=c)D)(x<=a)&&(b<=x<=c)【题5.6】判断char型变量ch是否为大写字母的正确表达式是。
A)‘A’<=ch<=‘Z’B)(ch>=‘A’)&(ch<=‘Z’)C)(ch>=‘A’)&&(ch<=‘Z’) D)(‘A’<=ch)AND(‘Z’>=ch)【题5.7】设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是。
山东科技大学C语言作业四
Problem A: 只有一个二元运算符的表达式运算Time Limit: 1 Sec Memory Limit: 2 MBSubmit: 5044 Solved: 1937[Submit][Status][Web Board]Description编程序读入并计算只有一个二元运算符的表达式的值。
用到的二元运算符有:“+”、“-”、“*”、“/”、“%”,与C语言的语法一致。
Input每行输入一个表达式,格式为:二个整型的操作数a和b,中间用一个符号分开,这个符号就是运算符。
测试样例不存在除数为0的情况。
输入以a和b为0,且用一个空格分开结束。
Output每行对应输入的运算符为“+”、“-”、“*”、“/”、“%”,则计算a+b、a-b、a*b、a/b、a%b的值;否则输出“invalid op”。
Sample Input33+58*92.21-617/39%30 0Sample Output3872invalid op-55#include<stdio.h>#include<math.h>void main(){int i,a,b;char c;for(i=0;i<=100;i++){for(;scanf("%d%c%d",&a,&c,&b)!=EOF;) if(a==0&&c==' '&&b==0)goto loop;elseswitch(c){case'+':printf("%d\n",a+b);break;case'-':printf("%d\n",a-b);break;case'*':printf("%d\n",a*b);break;case'/':printf("%d\n",a/b);break;case'%':printf("%d\n",a%b);break;default:printf("invalid op\n");}}loop:i=101;}Problem B: 摄氏——华氏温度转换表Time Limit: 1 Sec Memory Limit: 2 MBSubmit: 6632 Solved: 1711[Submit][Status][Web Board]Description已知华氏温度F,转换为摄氏温度C的公式为C=(F-32)*5/9。
C语言平时作业4
return 0;
}
截图
ans+=fun(i+1,a);
return ans;
}
int main(void)
{
double ans;
int n,k;
scanf("%d%d",&n,&k);
ans=sum(n,k);
printf("%lf\n",ans);
return 0;
}
截图
题目二:利用求n!的函数(double fun(int n))和求x的y次方的函数(double pow(int x,int y))。再次计算sin(x)的值。并用标准函数对同一角度求sin值,进行校对比较。
程序:
#include <stdio.h>
double fun(int n,int k)
{
double ans=0;
int i;
for(i=0;i<n;i++)
ans=ans*10+k;
return ans;
}
double sum(int n,int a)
{
double ans=0;
int i;
for(i=0;i<n;i++)
程序:
#include <stdio. Nhomakorabea>
#define MAX 100
int main(void)
{
int i=1;
double x,a,b=1,s=0;
scanf("%lf",&x);
c语言程序设计形考任务4答案培训讲学
c语言程序设计形考任务4答案一、选择题(共30分,每小题2分)题目1正确获得2.00分中的2.00分标记题目题干假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”,则不正确的语句为()。
选择一项:a. struct BOOK *x=malloc(book);回答正确b. struct BOOK x={"C++ Programming",27.0};c. struct BOOK *x=malloc(sizeof(struct BOOK));d. struct BOOK *x=&book;反馈Your answer is correct.题目2正确获得2.00分中的2.00分标记题目题干假定有“struct BOOK{char title[40]; float price;} book;”,则正确的语句为()。
选择一项:a. struct BOOK x= &book;b. struct BOOK *x=&book;回答正确c. struct BOOK x=calloc(BOOK);d. struct BOOK *x=BOOK;反馈Your answer is correct.题目3正确获得2.00分中的2.00分标记题目题干在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是()。
选择一项:a. 句点b. 冒号c. 分号回答正确d. 逗号反馈Your answer is correct.题目4正确获得2.00分中的2.00分标记题目题干假定一个结构类型的定义为“struct A{int a,b; double c;};”,则该类型的长度为()。
选择一项:a. 8b. 10c. 12d. 16反馈Your answer is correct.题目5正确获得2.00分中的2.00分标记题目题干假定一个结构类型的定义为“struct D{int a; D* next;};”,则该类型的长度为()。
C语言第4次作业运算符与
C语言第4次作业运算符与目单选题:1、若变量c为char类型,能正确判断出c为小写字母的表达式是A. 'a'<=c<= 'z'B. (c>= 'a')||(c<= 'z')C. ('a'<=c)and ('z'>=c)D. (c>= 'a')&&(c<= 'z')学生答案:D参考答案:D2、以下程序的输出结果是mai n(){ int x=0.5; char z='a';printf("%d\n", (x& 1)&&(z<'z') ); }A. 0B. 1C. 2D. 3学生答案:A参考答案:B3、C语言中运算对象必须是整型的运算符是A. %=B. /C. =D. 〈二学生答案:A参考答案:A4、有如下程序段int a=14,b=15,x;char c='A';x=(a&&b)&&(cv'B');执行该程序段后,x的值为A. tureB. falseC. 0D. 1学生答案:D参考答案:D5、设有int x=11; 则表达式(x++ * 1/3) 的值是A. 3B. 4C. 11D. 12学生答案: A参考答案: A6、设int x=1, y=1; 表达式(!x||y--) 的值是A. 0B. 1C. 2D. -1学生答案: B参考答案: B7、下列程序的运行结果是#include < stdio.h > main() { int a=2,c=5; printf("a=%d,b=%d\n",a,b);}A. a=%2,b=%5B. a=2,b=5C. a=d, b=dD. a=%d,b=%d学生答案: B参考答案: B8、判断字符型变量x 是否是大写字母的正确表达式是___A. 'A' <= x <='z'B. (x>=A) && (x <= Z)C. ('A'<= x) && ('Z' >= x)D. (x >='A') && (x <='Z')学生答案: D参考答案: D9、若已定义X和丫为double型,则表达式:x=1,y=x+3/2的值是 _____A. 1B. 2C. 2.0D. 2.5学生答案: C参考答案: c10、设有以下定义:int x=10,y=3,z;printf("%d\n",z=(x%y,x/y))的输出结果是 ____A. 1B. 0C. 4D. 3学生答案: D参考答案: D11、设ch是char型变量,其值为A,且有下面的表达式: ch=(ch>='A'&&ch<='Z')?(ch+32):ch上面表达式的值是A. AB. aC. ZD. z学生答案: B参考答案: B12、若有说明和语句:int a=5;a++;此处表达式a++的值是A. 7B. 6C. 5D. 4学生答案: C参考答案: C13、假定有以下变量定义:int k=7 ,x=12;则能使值为 3 的表达式是_________ 。
网络教育 C语言程序设计满分作业4
网络教育 C语言程序设计满分作业4作业名称:C语言程序设计2013秋第一套作业出卷人:SA作业总分:100 通过分数:60起止时间:2014-1-21 14:36:28 至 2014-1-21 15:05:54学员姓名:hhh201309 学员成绩:100标准题总分:100 标准题得分:100详细信息:题号:1 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:6.25 内容:二进制语言是属于A、面向机器的语言B、面向过程的语言C、面向问题的语言D、面向汇编语言标准答案:A学员答案:A说明:C语言程序设计/C语言概述本题得分:6.25题号:2 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:6.25 内容:下列选项中,不合法的C语言关键字是A、autoB、 defaultC、 staticD、 var标准答案:D学员答案:D说明:C语言程序设计/C语言概述本题得分:6.25题号:3 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.12 内容:对C语言源程序执行过程描述正确的是( )A、从main() 函数开始执行,到main()函数结束B、从程序的第一个函数开始执行,到最后一个函数结束C、从main函数开始执行,到源程序的最后一个函数结束D、从第一个函数开始执行,到main函数结束标准答案:A学员答案:A说明:C语言程序设计/C语言概述/C程序组成本题得分:3.12题号:4 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.12 内容:C语言规定:在一个源程序中,main函数的位置( )A、必须在最开始B、必须在系统调用的库函数的后面C、可以任意D、必须在最后标准答案:C学员答案:C说明:C语言程序设计/C语言概述/主函数本题得分:3.12题号:5 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.12 内容:C语言提供的合法关键字是( )A、breakB、printC、funtionD、end标准答案:A学员答案:A说明:C语言程序设计/C语言概述/C程序关键字本题得分:3.12题号:6 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.12 内容:不属于面向机器语言的是( )A、符号语言B、二进制语言C、汇编语言D、C语言标准答案:D学员答案:D说明:C语言程序设计/C语言概述/C程序特点本题得分:3.12题号:7 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.12 内容:程序段的基本结构中,不包含( )A、函数结构B、循环结构C、顺序结构D、分支结构标准答案:A学员答案:A说明:C语言程序设计/C语言概述/C程序组成本题得分:3.12题号:8 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:6.25 内容:以下那一个不是C语言合法的关键字A、switchB、 charaterC、 intD、 double标准答案:B学员答案:B说明:C语言程序设计/C语言概述本题得分:6.25题号:9 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.12 内容:一个C程序的执行是从( )A、本程序的main函数开始,到main函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束标准答案:A学员答案:A说明:C语言程序设计/C语言概述/主函数本题得分:3.12题号:10 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.12 内容:以下叙述不正确的是( )A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面标准答案:D学员答案:D说明:C语言程序设计/C语言概述/C程序组成本题得分:3.12题号:11 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.12 内容:C语言源程序的最小单位是( )A、程序行B、语句C、函数D、字符标准答案:D学员答案:D说明:C语言程序设计/C语言概述/C程序组成本题得分:3.12题号:12 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.12 内容:下列字符串是标识符的是( )A、_HJB、9_studentC、longD、LINE 1标准答案:A学员答案:A说明:C语言程序设计/C语言概述/C程序标识符本题得分:3.12题号:13 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.12 内容:下列四组选项中,均不是C语言关键字的选项是( )A、define,IF,typeB、getc,char,printfC、include,scanf,caseD、while,go,pow标准答案:A学员答案:A说明:C语言程序设计/C语言概述/关键字本题得分:3.12题号:14 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.12 内容:下列字符串属于标识符的是( )A、INTB、5_studentC、2ongD、!DF标准答案:A学员答案:A说明:C语言程序设计/C语言概述/C程序标识符本题得分:3.12题号:15 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.12 内容:将高级语言编写的程序翻译成目标程序的程序是( )A、解释B、编译C、汇编D、二进制标准答案:B学员答案:B说明:C语言程序设计/C语言概述/C程序执行本题得分:3.12题号:16 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.12 内容:不属于高级语言的是( )A、BASICB、CC、ALGOLD、符号语言标准答案:D学员答案:D说明:C语言程序设计/C语言概述/C程序特点本题得分:3.12题号:17 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.12 内容:将汇编语言编写的程序翻译成目标程序的程序是( )A、解释B、编译C、汇编D、目标标准答案:B学员答案:B说明:C语言程序设计/C语言概述/C程序执行本题得分:3.12题号:18 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.12 内容:以下叙述正确的是( )A、在C程序中,main函数必须位于程序的最前面B、在C程序的每一行只能写一条语句C、C语言本身没有输入输出语句D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误标准答案:C学员答案:C说明:C语言程序设计/C语言概述/主函数本题得分:3.12题号:19 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.12 内容:以下对C语言描述中正确的是( )A、C语言源程序中可以有重名的函数B、C语言源程序中要求每行只能书写一条语句C、C语言源程序中,注释可以出现在任何位置D、最小的C源程序中没有任何内容标准答案:C学员答案:C说明:C语言程序设计/C语言概述/C程序组成本题得分:3.12题号:20 题型:多选题(请在复选框中打勾,在以下几个选项中选择正确答案,答案可以是多个)本题分数:3.12内容:以下能对一维数组a进行正确初始化的语句是( )A、int a[10]=(0,0,0)B、int a[10]={}C、int a[]={0}D、int a[10]={10*1}标准答案:CD学员答案:CD说明:C语言程序设计/数组/一维数组的初始化本题得分:3.12题号:21 题型:是非题本题分数:6.25内容:在一个函数内部的复合语句中定义的变量,只在该复合语句范围内有效1、错2、对标准答案:2学员答案:2说明:C语言程序设计/函数本题得分:6.25题号:22 题型:是非题本题分数:6.25内容:C语言中,函数可以嵌套定义1、错2、对标准答案:1学员答案:1说明:C语言程序设计/函数本题得分:6.25题号:23 题型:是非题本题分数:6.25内容:C语言中输入输出是通过函数完成的1、错2、对标准答案:2学员答案:2说明:C语言程序设计/函数本题得分:6.25题号:24 题型:是非题本题分数:3.12内容:double fun(int x,int y){double z;z=x+y;return z;}是正确的函数形式1、错2、对标准答案:2学员答案:2说明:C语言程序设计/函数/函数的一般形式本题得分:3.12题号:25 题型:是非题本题分数:6.25内容:C语言中形参到实参传递是双向的1、错2、对标准答案:1学员答案:1说明:C语言程序设计/函数本题得分:6.25。
C语言第四次作业(课堂PPT)
了就不需要再打印了,所以是从s1[i-2]+1开始而不是s1[i-2]*/
{sum++;s2[sum]=j;}
flag=0;
}
}
s2[sum+1]=‘\0’; /*在字符串的最. 后放一个’\0’表示结束*/
8
}
寄语:这个题写起来比较繁琐。可 能理解起来有些困难。有能力的同 学可以分步调试一下来查看结果。 实在不会的话就去中408找我吧~
}
}
}
.
13
由于题目难度增加,可能有些程序 不能够在一页以内打完。所以可能 看起来稍微费劲,见谅~
.
14
11级第四次作业---魔方阵4.【问题描述】输入一个自然数N(1≤N≤9), 要求输出如下的魔方阵,即边长为2*N-1,N在中心出现一次,其余位 置上的数字从外向中心逐渐增大。 N=3时:
11111 12221 12321 12221 11111 N=4时:
scanf("%s",s);
scanf("%d",&m);
n=strlen(s);/*这里是上面string.h中的函数,就是求s的长度的意思*/
for (i=1;i<=m;i++)/*总共删m个数*/
{
for (j=0;j<=n-1;j++)/*从头到尾扫描*/
{
if (s[j]>s[j+1])/*如果这个数比下一个数大那么这个数例如将a-d扩展为abcd。该函
数可以处理大小写字母和数字,并可以处理a-b-c、a-z0-9与-a-
z等类似的情况。在main函数中测试该函数:从键盘输入包含缩
国家开放大学电大《C语言程序设计》网络课形考任务4作业及答案
国家开放大学电大《C语言程序设计》网络课形考任务4作业及答案形考任务4一、选择题(共30分,每小题2分)题目1假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”,则不正确的语句为()。
选择一项:a. struct BOOK *x=malloc(book);题目2假定有“struct BOOK{char title[40]; float price;} book;”,则正确的语句为()。
选择一项:b. struct BOOK *x=&book;题目3在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是()。
选择一项:c. 分号题目4假定一个结构类型的定义为“struct A{int a,b; double c;};”,则该类型的长度为()。
选择一项:d. 16题目5假定一个结构类型的定义为“struct D{int a; D* next;};”,则该类型的长度为()。
选择一项:b. 8反馈Your answer is correct.题目6假定要访问一个结构指针变量x中的数据成员a,则表示方法为()。
选择一项:b. x->a题目7与结构成员访问表达式等价的表达式为()。
选择一项:c. (&x)->name题目8假定一个链表中结点的结构类型为“struct AA{int data, struct AA *next;};”,则next数据成员的类型为()。
选择一项:b. struct AA*题目9假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为()。
选择一项:b. p->next=f和f=p题目10标准输入设备键盘的文件流标识符是()。
选择一项:a. stdin题目11表示文件结束符的符号常量为()。
选择一项:c. EOF题目12C语言中打开一个数据文件的系统函数为()。
C语言习题4
1、 单选题 1. 逻辑运算符两侧运算对象的数据类型是( )。 A.只能是0或1 B.只能是0或非0正数 C.只能是整型或字符型数据 D.可以是任何类型的数据 2. 选择出合法的if语句(设int x,a,b,c;)( )。 A.if(a=b) x++; B.if(a=<b) x++; C.if(a<>b) x++; D.if(a=>b) x++; 3. 能正确表示“当x的取值在[l,10]或[200,210]范围内为真,否则 为假”的表达式是( )。 A.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B.(x>=1)||(x<=10)||(x>=200)||(x<=210) C.(x>=1)&&(x<=l0)||(x>=200)&&(x<=210) D.(x>=1)||(x<=10)&&(x>=200)||(x<=210) 4. 判断char型变量ch是否为大写字母的正确表达式是( )。 A. 'A'<=ch<='Z' B.(ch>='A')&(ch<='Z') C.(ch>='A')&&(ch<='Z') D.( 'A'<=ch)AND('Z'>=ch) 5. 为了避免在嵌套的条件语句 if - else 中产生二义性,C语言规定: else子句总是与( )配对。 A. 缩排位置相同的if B. 同层之前最近的if C. 同层其之后最近的if D. 同一行上的 6. 下列运算符中,不属于关系运算符的是( )。 A. < B. >= C. == D. ! 7. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数 时,表达式的值为“假”。则以下不能满足要求的表达式是( )。 A.A%2==1 B.!( A%2==0) C.!(A%2) D.A%2 8. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果 是( )。 #include<stdio.h> void main() { int x; scanf("%d", &x);
C语言平时作业
i=a;
a=b;
b=i;
}
if(a>c)
{
i=a;
a=c;
c=i;
}
if(a>d)
{
i=a;
a=d;
d=i;
}
if(a>e)
{
i=a;
{
char d[100];
char f;
int i,j,k;
i=strlen(a);
for(j=0,k=i;j<=i;j++,k--)
d[k]=a[j];
return(d[100]);
}
int b[3][3]={{1,1,1},{1,1,1},{1,1,1}};
int c[2][3];
int i,j,k,l;
for(i=0;i<=1;i++)
{
for(k=0;k<=2;k++)
{
c[i][k]=0;
for(j=0;j<3;j++)
{
printf("%d\n",a+10*b+100*c);
}
}
}
}
5、写一个字符串统计数字、字母、和其他字符的个数。
#include<stdio.h>
#include<string.h>
void main()
{
char ch[100];
int a=0,b=0,c=0,d=0,i=0;
{
t=i*j;
printf("%d*%d=%d ",i,j,t);
数据结构-C语言-第四章作业
数据结构
练习
数据结构
设有一个二维数组A[m][n]按行优先顺序存储,假设A[0][0] 存放位置在644(10),A[2][2]存放位置在676(10),每个元素 占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示 用10进制表示。
答:设数组元素A[i][j]存放在起始地址为Loc ( i, j ) 的存储单 元中
Байду номын сангаас
练习
数据结构
设有二维数组A[10,20],其每个元素占两个字节, A[0][0]存储地址为100,若按行优先顺序存储,则 元素A[6,6]的存储地址为 352 ,按列优先顺序存储 ,元素A[6,6]的存储地址为 232 。
答:(6*20+6)*2+100=352 (6*10+6)*2+100=232
练习
数据结构
1、 设有二维数组a[6][8],每个元素占相邻的4个字节,存储 器按字节编址,已知a的起始地址是1000,试计算:
数组a的最后一个元素a[5][7]起始地址; 按行序优先时,元素a[4][6]起始地址; 按列序优先时,元素a[4][6]起始地址。
课本作业
4.5 4.8 4.10
∵ Loc ( 2, 2 ) = Loc ( 0, 0 ) + 2 * n + 2 = 644 + 2 * n + 2 = 676.
∴ n = ( 676 - 2 - 644 ) / 2 = 15
∴ Loc ( 3, 3 ) = Loc ( 0, 0 ) + 3 * 15 + 3 = 644 + 45 + 3 = 692.
C语言第三、四章作业题答案
东华理工大学:C语言第三章作业题C程序设计第三章闭/开卷课程类别:考试/考查第三章顺序结构程序设计一、选择题1。
C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。
如果格式说明的个数小于输出项的个数,多余的输出项将 A ;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。
A)不予输出B)输出空格C)照样输出D)输出不定值或02.在scanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配.如果类型不匹配,系统 B 。
A)不予接收B)并不给出出错信息,但不可能得出正确信息数据C)能接受正确输入D)给出出错信息,不予接收输入3。
下列说法正确的是 D 。
A)输入项可以是一个实型常量,如scanf(”%f",4。
8);B)只有格式控制,没有输入项也能进行正确输入,如scanf(”a=%d,b=%d”);C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(”%5。
3f",&f);D)当输入数据时,必须指明变量的地址,如scanf("%f”,&f);4。
根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确是B 。
main(){int a;float x;printf("input a,x:”);输入语句输出语句}输入形式input a,x:3 2.1输出形式a+x=5。
10A)scanf("%d,%f",&a,&x);printf("\na+x=%4。
2f",a+x);B)scanf(”%d %f",&a。
&x);printf("\na+x=%4。
2f”,a+x);C)scanf(”%d %f”,&a,&x);printf(”\na+x=%6。
1f",a+x);D)scanf("%d %3.1f”,&a,&x);printf(”\na+x=%4。
C语言第四章习题带答案
A.A B.ABother C.Aother D.编译错误,无法运行 10.当 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) x=2; else x=3; else x=6; else x=7; A.1 B.2 C.3 D.6 二、填空题 11.以下程序的输出结果是( -1 )。 main() { int a=100, x=10, y=20, ok1=5, ok2=0; if (x<y) if (y!=10) if (!ok1) a=1; else if (ok2) a=10; a=-1; printf("%d\n",a); } 12.阅读以下程序: main() { int t, h, m; scanf("%d", &t); h=(t/100)%12; if (h==0) h=12; printf("%d:", h); m=t%100; if (m<10) printf("0"); printf("%d",m); if (t<1200||t==2400) printf("AM"); else printf("PM"); } 若运行时输入:1605<CR>,程序的运行结果是( 4:05PM )。 13.若运行时输入:3 5/<CR>,则以下程序的运行结果是( 0.600000 )。 main() { float x, y; char o; double r; scanf("%f%f%c", &x, &y, &o); switch (o) { case '+': r=x+y; break;
C语言试题4
一、单选题(每题2分,共30分)1.以下叙述正确的是________。
A) C程序的每行只能写一条语句B) C语言本身没有输入输出语句C) 在C程序中,注释说明只能位于一条语句的后面D) 在对C程序进行编译的过程中可发现注释中的拼写错误2.下面正确的int型常量表示是________。
A)0xag B)16.700 C)089 D)0XABC3.以下C语言标识符中错误的是________。
A)_3max B)s_1_2 C)int3 D)p&sum4.以下关于C语言数据类型使用的叙述中错误的是________。
A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型5.当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:回车也是一个字符),则输出结果是________。
12<CR>34<CR>void main(){ chara,b,c,d;scanf("%c%c",&a,&b);c=getchar(); d=getchar();printf("%c%c%c%c\n",a,b,c,d);}A)1234B)12 C)12 D)123 346. 设有如下程序段,则描述中正确的是______ 。
inti=5;while(i=0) i=i-1;A)while循环执行5次B) 循环是无限循环C)循环体语句一次也不执行D) 循环体语句只执行一次7.以下不正确的一组语句是________。
A)char a[10]="hello"; B)char *p="hello";C)char a[10]; a="hello"; D)char *p; p="hello";8.若有struct complex{ intreal,unreal;} data1={1,8},data2;则以下赋值语句中错误的是________。
C语言练习4(函数)=参考答案
C语言(函数,变量作用范围)一、选择题1 下列定义不正确的有 ( C ) 。
A)#define PI 3.141592 B)#define S 345C)int max(x,y); D)char c;int x,y ;{ }2 下列程序结构中,不正确的是 ( B )。
A)main() B) main(){float a,b,c; {float a,b,c;scanf("%f,%f",&a,&b); scanf("%f,%f",&a,&b);c=add(a,b); c=add(a,b);...... .....} }int add(float x,float y) float add(float x,float y) { ... } { ... }C)float add(float x,float y); D)float add(float x,float y) main() { ... }{float a,b,c; main()scanf("%f,%f",&a,&b); {float a,b,c;c=add(a,b); scanf("%f,%f",&a,&b);...... c=add(a,b);} .....float add(float x,float y) }{ ... }3 一个C语言的程序总是从( A )开始执行的.A)main函数B)文件中的第一个函数C)文件中的第一个子函数调用D)文件中的第一条语句4 以下正确的函数定义是( D ).A)double fun(int x,int y){z=x+y; return z;}B) double fun(int x,int y);{int z;z=x+y; return z;}C) fun(int x,y){int z; return z;}D) double fun(int x,int y){double z;z=x+y; return z;}5 以下正确的函数声明形式是( D ).A) double fun(int x,int y)B) double fun(int x;int y)C) double fun(int ,int )D) double fun(int ,int );6 以下说法中正确的是( A )在C语言中A)实参与其对应的形参各占用独立的存储单元B)实参与其对应的形参占用同一个存储单元C)只有当实参与形参同名时才占用同一个存储单元D)实参占用存储单元,但形参是虚拟的,不占用存储单元7 设有如下函数定义:int f(char *s){ char *p=s ;while(*p!='\0') p++;return(p-s) ;}如果在主程序中用下面的语句调用上述函数,则输出结果为( A ). printf("%d\n",f("goodbye!"));的输出结果是A) 3 B) 6 C) 8 D) 08 下面程序段中,主函数中变量a被初始化为 ( C )。
经典C语言试题(四)
注释:当通过一个运算对象即可决定逻辑运算&&的结果时,则对另一个运算对象不做处理。
【1.72】已知:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*ptr)[3]=a,*p=a[0];则以下能够正确表示数组元素a[1][2]的表达式是【1.72】答案:A。
A) *(*(a+1)+2) B) *(*(p+5)) C) (*ptr+1)+2 D) *((ptr+1)[2])注释:p是一个一级指针,选项B中对它进行了两次*运算是错误的。
ptr是一个指向一维数组的指针,它所指向的数组有三个元素,对于这样一个指针,对它进行两次**运算才能取出地址单元中所存的数据,C选项中*ptr表示数组第一行的首地址,该地址是一维数组的地址,+3表示加上三个它所指向的数据类型的长度,所以(*ptr+1)+2是数组中数值4的地址。
根据以上分析,选项D对ptr进行了两次地址操作(*和[]),所以结果应是数据,但是它加1后指向数组第二行,根据后面[]中2它的地址增加两个一维数组的长度,就指向数组的最后一行,再做*运算就是数10,即a[3][0]。
【1.73】已知:int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a;则值为3的表达式是。
A) p+=2,*(p++) B) p+=2,*++p C) p+=2,*p++ D) p+=2,++*pA【1.74】已知:int a[]={1,2,3,4}, y, *p=a;则执行语句y = (*++p)--;之后, 数组a各元素的值变为______。
A) 0,1,3,4 B) 1,1,3,4 C) 1,2,2,4 D) 1,2,3,3变量y的值是____。
A) 1 B) 2 C) 3 D) 4B【1.75】已知:int a[ ]={1,3,5,7}, y *p= a;为使变量y的值为3,下列语句正确的是____。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
count++; printf("%4d(%d)",a1[i][j],count);} printf("\n");} }
四、源程序调试过程(或运行结果) 对程序编译、连接、运行,得到如下结果:
创建时间:2013-6-4
五、实验小结(体会): 1、掌握了数组元素指针的使用。 2.2、握了数组的定义、初始化、以及数组元素的引用方法 3、掌握了顺序文件在程序程序设计中的应用
创建时间:2013-6-4
void MakeArray(int **a1,int s,int n,int t); void CountArray(int **a1,int s,int n); int row,col,t; int **pArr,i; printf("输入地雷的行和列以及地雷数:");
scanf("%d,%d,%d",&row,&col,&t); pArr=(int**)malloc(row*sizeof(int*)); for(i=0;i<row;i++) pArr[i]=(int*)malloc(col*sizeof(int)); for(i=0;i<row;i++) for(int j=0;j<col;j++)
2、理解数组单元的存储特点及下标范围取值和访问方法;
3、掌握理解数组与指针的概念及两者之间的联系;
4、掌握指向数组元素指针的使用;
5、掌握用指向数组指针变量表示数组的数组元素及其操作方法;
6、掌握用指针形式参数在函数间传递数组实际参数的方法。
7、熟悉并掌握动态数组的创建方式及元素访问方法。
二、实验项目内容(实验题目)
13 年 6 月 4 日
实验地点
DS1421
实验成绩
实验性质 □验证性 □设计性 √ 综合性
教师评价:
□算法/实验过程正确; □源程序/实验内容提交 □程序结构/实验步骤合理;
□实验结果正确;
□语法、语义正确;
□报告规范;
其他:
评价教师签名:
一、实验目的
1、掌握二维数组或多维数组的定义和初始化方法;
创建时间:2013-6-4
for(i=0;i<s;i++) {for(j=0;j<n;j++)
{count=0; for(int l=0;l<s;l++)
for(int t=0;t<n;t++) if((i-l)*(i-l)+(j-t)*(j-t)<=2 &&(i-l)*(i-l)+(j-t)*(j-t)!=0 &&a1[l][t]==9)
if (a1[k/n][k%n]!=9) {a1[k/n][k%n]=9;count++;} }while(count<t); } void PrintArray(int **a1,int s,int n) { for(int i=0;i<s;i++) { for(int j=0;j<n;j++) printf("%4d",a1[i][j]); printf("\n"); } } void CountArray(int **a1,int s,int n) {int i,j,count;
三、源程序(实验过程或算法) 对实验报告内容所述的题目进行分析求解,得出如下 C 源程序:
#include<stdio.h> #include<stdlib.h> #include<time.h>
创建时间:2013 年 6 月 4 日星期二
void main() { void PrintArray(int **a1,int s,int n);
模拟“地雷游戏”。在 M*N 的方格中,随机布上 dn 个“地雷”,按 M 行 N 列输出各格子的 数(有雷为 9(或‘*’),无雷为 0)。在有相邻地雷的格子内进一步标出相邻地雷数。要求: 1)“雷区”方阵的大小 M 和 N 在程序运行过程中通过键盘输入。 2) 地雷的个数 dn 在程序运行中指定。 3) 地雷的个数 dn 必须与指定的个数相同。 实验参考提示:以实验书 P27 页上的程序为基础,加“可变动态数组”实现。