这个C语言怎么学习c语言做?

【C语言】这个怎么做啊 这么做啊,求大神指教,完全不会_编程吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:152,107贴子:
【C语言】这个怎么做啊 这么做啊,求大神指教,完全不会收藏
用c/c++语言在Linux操作系统环境下实现通过研究Linux的线程机制和信号量实现生产者消费者问题的并发控制。有界缓冲区内设有20个存储单元,放入/取出的数据项设定为1~20这20个整型数。(1)
每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容、当前指针位置和生产者/消费者线程的标识符。(2)
生产者和消费者各有两个以上。(3)
多个生产者或多个消费者之间须共享对缓冲区进行操作的函数代码。
学IT技术到oracle人才培训基地,美国原厂培训中心,量身定制,0基础,小班授课.免费试听.免费试听.编程火热报名中,点击在线咨询!
哼欺负新人
说白了,要让你学会在linux下如何进行线程同步
#include &stdio.h&#include &stdlib.h&#include &unistd.h&#include &pthread.h&#include &semaphore.h&#define N 2
// 消费者或者生产者的数目int in = 0;
// 生产者放置产品的位置int out = 0;// 消费者取产品的位置int buff[M] = {0};// 缓冲初始化为0, 开始时没有产品sem_t empty_ // 同步信号量,当满了时阻止生产者放产品sem_t full_ // 同步信号量, 当没产品时阻止消费者消费pthread_mutex_ // 互斥信号量, 一次只有一个线程访问缓冲int product_id = 0;
//生产者idint prochase_id = 0; //消费者id/* 打印缓冲情况 */void print(){ for(i = 0; i & M; i++)
printf(&%d &, buff[i]); printf(&\n&);}/* 生产者方法 */ void *product(){ int id = ++product_ while(1) {
// 用sleep的数量可以调节生产和消费的速度,便于观察
//sleep(1);
sem_wait(&empty_sem);
pthread_mutex_lock(&mutex);
in = in % M;
printf(&product%d in %d. like: \t&, id, in);
buff[in] = 1;
pthread_mutex_unlock(&mutex);
sem_post(&full_sem);
}}/* 消费者方法 */void *prochase(){ int id = ++prochase_ while(1) {
// 用sleep的数量可以调节生产和消费的速度,便于观察
sleep(1); //sleep(1); sem_wait(&full_sem);
pthread_mutex_lock(&mutex);
out = out % M;
printf(&prochase%d in %d. like: \t&, id, out);
buff[out] = 0;
pthread_mutex_unlock(&mutex);
sem_post(&empty_sem); }}
int main(){ pthread_t id1[N];pthread_t id2[N]; int ret[N];// 初始化同步信号量int ini1 = sem_init(&empty_sem, 0, M); int ini2 = sem_init(&full_sem, 0, 0);
if(ini1 && ini2 != 0) {
printf(&sem init failed \n&);
exit(1); }
//初始化互斥信号量
int ini3 = pthread_mutex_init(&mutex, NULL); if(ini3 != 0) {
printf(&mutex init failed \n&);
exit(1); }
// 创建N个生产者线程 for(i = 0; i & N; i++) {
ret[i] = pthread_create(&id1[i], NULL, product, (void *)(&i));
if(ret[i] != 0)
printf(&product%d creation failed \n&, i);
} } //创建N个消费者线程 for(i = 0; i & N; i++) {
ret[i] = pthread_create(&id2[i], NULL, prochase, NULL);
if(ret[i] != 0)
printf(&prochase%d creation failed \n&, i);
} }//销毁线程for(i = 0; i & N; i++) {
pthread_join(id1[i],NULL);
pthread_join(id2[i],NULL); } exit(0);}
不知道哪里错了,编译不出来。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或超级菜鸟 问个问题
这个怎么做?_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:473,763贴子:
超级菜鸟 问个问题
这个怎么做?收藏
总是从Hello,world开始 学习编程的第一个程序,一般就是打印一个亲切的词语——"Hell o,world!".让我们来看看这个最简单的C程序: #incolude &stdio.h& /*把输入输出函数的头文件包含进来*/ int main() { printf("Hello,
world!");/*在屏幕上输出字符串"Hello,world!"*/ return 0;/*退出main函数,并返回0*/ } -------------------------------------------------------------------------------这个不是应该放入源文件么?
我先创建win32 APP的工程
然后加入c++
source file
再里面把上面的源放进去
为什么都是错误出现下面的东西--------------------Configuration: 3 - Win32 Debug--------------------Compiling...3.cppf:\vc++ 6.0 common\msdev98\myprojects\3\3.cpp(1) : fatal error C1021: invalid preprocessor command 'incolude'执行 cl.exe 时出错.3.exe - 1 error(s), 0 warning(s)刚学VC
弄了好久实在弄不好
C++培训---美国上市C++培训公司,入学签订就业协议,名企疯抢达内C++学员.达内C++培训全程以&实战&教学,&90天=2年工作经验& 0元0基础 + 7天免费试学!
在c++ source file时,文件名加.c。或者你用记事本编,用vc6.0编译。
--------------------Configuration: SDFSD - Win32 Debug--------------------Compiling...FDSF.CPPC:\Program Files\Microsoft Visual Studio\MyProjects\SDFSD\FDSF.CPP(7) : error C2001: newline in constantC:\Program Files\Microsoft Visual Studio\MyProjects\SDFSD\FDSF.CPP(9) : error C2146: syntax error : missing ')' before identifier 'world'C:\Program Files\Microsoft Visual Studio\MyProjects\SDFSD\FDSF.CPP(9) : error C2001: newline in constantC:\Program Files\Microsoft Visual Studio\MyProjects\SDFSD\FDSF.CPP(13) : warning C4508: 'main' : function s 'void' return type assumed执行 cl.exe 时出错.SDFSD.exe - 1 error(s), 0 warning(s)
改了 就变成这个 好乱
- - !  好难 求高手帮助
c++中只允许int main
看错了,把你修改后的代码贴一下
#include &stdio.h& /*把输入输出函数的头文件包含进来*/ int main() { printf("Hello, world!");/*在屏幕上输出字符串"Hello,world!"*/ return 0;/*退出main函数,并返回0*/ } ---------------------------------------------------------------------------c++中只允许int main 是什么意思呀?再问下代码该如何使用?百度都百度不到 ...新手问题多
printf("Hello, world!");/*在屏幕上输出字符串"Hello,world!"*/一行
似乎hello world改成helloworld会出错记不清了
就是LS说的那样
不知道不知道不知道反正输出一句话的格式我有main(){
printf("wxmmxcx");
getch();}好像是这样~我忘了,wxmmxcx能替换
是用什么工程?
和win32 con app
都是打不开的
放一行。。。字符串分两行编译器不认。。。
好像是return 0出错了……
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或c语言中a=1;b=2;c=3; d=(a++,--b,b--,--a,--c,c--); 这个怎么做求A,B,C,D的值,
__蔷衣°7820
逗号运算符从左到右计算d=(a++,--b,b--,--a,--c,c--);对a,a++,--a,增1减1,没有变化,最终a=1对b,--b,b--两次减1,故b=0对c,--c,c--两次减1 故c=1d其实就等于c--,c--是先返回在减1,故d=2
谢谢啦,帮我再解个呗
static int a[10]={1,3,5,7,9}
printf("%d",*p++**++p)
为您推荐:
其他类似问题
扫描下载二维码C语言,我想做成下面那个图怎么做啊?要代码,发图片也可以,我不懂怎么用C来表达这个啊!谢谢 0_百度知道

我要回帖

更多关于 vs怎么写c语言 的文章

 

随机推荐